代码编织梦想

sersync的功能:

1.支持配置文件管理

2.真正的守护进程socket

3.可以对失败文件定时重传(定时任务功能)

4.第三方的HTTP接口(例:更新cdn缓存)

5.默认多线程rsync同步

优点:

1.使用C++编写,对linux系统文件产生的临时文件和重复的文件操作会进行过滤,在结合rsync同步的时候,会减少运行时消耗的本地及网络资源,因此速度更快。

2.相比其他项目,sersync配置起来简单

3.使用多线程同步(即可以并发同步多个不同文件),尤其在同步较大文件时,能够保证多个服务器实时保持同步状态

4.Sersync自带出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则每10个小时对同步失败的文件再重新同步

5.Sersync自带crontab功能,只需在xml配置文件中开启,即可按预先的配置,隔一段时间整体同步一次

6.Sersync自带socket与http的协议扩展,可以满足有特殊需求的公司二次开发。

缺点:

sersync有重传机制(内置的定时任务),但是只重传一次,如果重传失败就会清空重传队列,即清空/tmp/rsync_fail_log.sh文件。这样就会造成sersync服务恢复正常后(即可以同步文件),数据同步的两个服务器数据不一致的现象。因为,/tmp/rsync_fail_log.sh文件为空,而sersync只对发生变化的文件做实时同步(ps:sersync默认每隔十个小时做一次完整的数据同步)。

架构图:

 

两台linux服务器

192.168.157.10  sersync

192.168.157.20  rsync

先检查系统环境(内核要最低2.6):

uname -r

升级rsync到3.0版本:

rsync --version|head -2

rsync端:

vim /etc/rsyncd.conf

#Rsync server

uid = root

gid = root

use chroot = no                         # 安全相关

max connections = 2000                  # 并发连接数

timeout = 600                           # 超时时间(秒)

pid file =/var/run/rsyncd.pid           # 指定rsync的pid目录

lock file =/var/run/rsync.lock          # 指定rsync的锁文件【重要】

log file = /var/log/rsyncd.log          # 指定rsync的日志目录

ignore errors

read only = false

list = false

hosts allow = 192.168.157.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file =/etc/rsync.password

#################################################

[www]                                   # 模块

comment = www

path = /data/www/

#################################################

[bbs]

comment = bbs

path = /data/bbs/

#################################################

[blog]

comment = blog

path = /data/blog/

#rsync_config____________end

创建rsync用户并设置密码(我这里设置的是123456):

useradd  rsync_backup

passwd rsync_backup

创建rsync同步密码文件,并且权限设置为600:

echo "rsync_backup:123456" > /etc/rsync.password

chmod 600 /etc/rsync.password

启动守护进程并写入开机自启动

rsync --daemon

ss -anpt | grep rsync

vim /etc/rc.local

/usr/bin/rsync –damon

创建相关同步的目录:

mkdir -p /data/{www,bbs,blog}

查看创建目录的结构:

Tree

Sersync端:

配置rsync的密码文件:

echo “123456” > /etc/rsync.password

chmod 600 /etc/rsync.password

创建同步数据的目录:

mkdir -p /data/{www,bbs,blog}

touch /data/www/www.log /data/bbs/bbs.log /data/blog/blog.log

查看结构:

tree /data/

手动测试看是否可以传文件:

rsync -avzP /data/www/ rsync_backup@192.168.157.20::www/ --password-file=/etc/rsync.password

传送完可以在rsync端查看同步的文件:

Tree /data

部署sersync:

创建软件目录:

mkdir -p /applition/tools
cd /applition/tools

下载软件包:

wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz
可能也会下载不了,需要自行准备,如果需要可以私信我,也可以使用windows的下载工具。

 
解压压缩包:
tar fxz sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
cd /usr/local
mv GNU-Linux-x86 sersync
配置sersync:
先将配置文件备份:
cp sersync/confxml.xml  sersync/confxml.xml.$(date +%F)
优化sersync配置文件:
修改前(第一部分):

 

修改后:

 

修改前(第二部分):

 

修改后:

 

修改前(第三部分):

 

修改后:

 

开启sersync守护进程同步数据:

配置环境变量:

echo "PATH=$PATH:/usr/local/sersync/">>/etc/profile
source /etc/profile
启动命令:
sersync2 -d -r -o /usr/local/sersync/confxml.xml

 验证:

在sersync端:

touch /data/www/a.txt

在rsync端:

看是否可以看到创建的文件

tree /data


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dhdudj/article/details/127974745

linux sersync实时同步软件-爱代码爱编程

Sersync实时同步软件 一、Sersync项目简介与框架设计 1.1项目简介 Sersync项目利用inotify与rsync技术实现对服务器数据实时同步的解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rsync是目前广泛使用的本地及异地数据同步工具,其优点是只对变化的目录数据操作,甚至是一个文件不同的的部分进

sersync实时同步 sersync项目实战 nfs单点故障解决-爱代码爱编程

文章目录 sersync实时同步什么是实时同步为什么实时同步实现同步的原理实时同步工具的选择sersync项目实战1.环境准备安装web服务器(web01和web02两台机器上全需要执行)安装nfs、rpcbind下载sersyncrz -E 拉进来之后 解压配置sersync查看sersync命令创建密码文件先手动推一下测试执行脚本并查看移动脚本

180天Linux小白到大神-Sersync实时同步实战-爱代码爱编程

5 Sersync实时同步实 战 5 Sersync实时同步实战 1.实时同步概述 1.1 什么是实时同步 1.2 实时同步原理 1.3 实时同步场景 1.4 实时同步工具 2.实时同步案例 2.1 环境规划 2.2 配置思路 2.3 配置NFS存储 2.4 配置WEB服务 2.5 配置备份服务 2.6 配置实时同步 2.7 平

【笔记】sersync 实时同步_ahui_csdn的博客-爱代码爱编程

Sersync 实时同步 实时同步概述 什么是实时同步 实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目录同步至远程服务器。 为什么要实时同步 保证数据的连续性, 减少人力维护成本,解决nfs单点故障 实时同步工具选择 sersync+RSYNC(√)、inotify+rsync Inotify是一个通知接口,用来监控文

rsync+sersync实时同步详细配置_活捉一个坏小孩的博客-爱代码爱编程

Rsync+Sersync实时同步 一、基本介绍  1.什么是Rsync? Rsync(Remote Synchronize)是一款开源的、快速的、多功能的、可以实现全量及增量的本地或远程数据同步备份的优秀工具,并且支持多种操作系统平台运行。 2.Rsync简介 Rsync具有本地与远程两台主机之间的数据快速复制同步镜像、远程备份等功能,该功

rsync+sersync实时文件同步_wfkwyu的博客-爱代码爱编程

Rsync+Sersync实时文件同步 实时同步方案: 1、rsync+inotify (不推荐,inotify是对本地文件或目录的实时监控) 2、rsync+sersync (推荐,是inotify的升级版,功能更强大,本篇博客就使用该方案) sersync是基于inotify开发的,类似于inotify-tools的工具,Sersy

sersync 实现实时数据同步 —— 筑梦之路_筑梦之路的博客-爱代码爱编程

sersync类似于inotify,同样用于监控,但它克服了inotify的缺点. inotify最大的不足是会产生重复事件,或者同一个目录下多个文件的操作会产生多个事件,例如,当监控目录中有5个文件时,删除目录时会产生6个监控事件,从而导致重复调用rsync命令。比如:vim文件时,inotify会监控到临时文件的事件,但这些事件相对于rsync来说是

还在付费使用 xshell?我选择这款超牛逼的 ssh 客户端,完全免费_写代码的珏秒秒的博客-爱代码爱编程

分享过FinallShell这款SSH客户端,也是xiaoz目前常用的SSH客户端工具,FinalShell使用起来方便顺手,但令我不爽的是tab数量变多的时候FinalShell越来越卡,而且内存占用也比较高。 最近发现一款使用使用C语言开发的跨平台SSH客户端WindTerm,完全免费用于商业和非商业用途,没有限制。 所有发布的源代码(第三方目录除外

vtk的对象模型_sylarxillee的博客-爱代码爱编程

可以将VTK对象模型视为继承自超类vtkObject。几乎所有VTK类都派生自该类,某些特殊情况下派生自其超类vtkObjectBase。所有VTK都必须使用对象的New()方法创建,并且必须使用对象的Delete()方法销毁。无法在堆栈上分配VTK对象,因为构造函数是protected方法。使用一个通用的超类和创建和销毁对象的统一方法,VTK提供面向对象

linux上如何搭建java环境_java-呆萌老师的博客-爱代码爱编程

一 linux软件安装常用的方式对比 Linux下的软件安装,主要有如下三种,“正规”程度依次递减: 1、使用标准的yum/apt/yast包管理程序安装 2、使用标准rpm/deb或厂商自己的安装包(比如nVidia

服务器技术有哪些?_dexunjiaqiang的博客-爱代码爱编程

服务器技术有哪些?   1、CPU虚拟化技术   将计算机服务器中的物理CPU虚拟成为一个虚拟的CPU,系统操作可同时使用一个或者多个虚拟CPU,在计算机服务器系统虚拟化CPU可实现相互隔离。   目前很多计算机操作系统都是基于X86架构组建起来的,在系统研发设计中,CPU在运行过程中主要涉及到四个层级,分别是Ring0、Ring1、Ring2、Ri

windows10上运行magic keyboard和magic mouse_樱木之的博客-爱代码爱编程

windows10上运行magic keyboard和magic mouse并保持你的mac习惯 所有需要的软件和插件都可以在这里寻找到链接:https://pan.baidu.com/s/1Y8vjRnznqKP7f8d

linux-unbuntu修改apt源_爱吃水饺的小京的博客-爱代码爱编程

本文介绍如何将ubuntu的apt源修改为清华大学的镜像源 主要是修改/etc/apt/source.list的文件,并且使用sudo apt-get update来刷新源 修改apt源 unbuntu安装好之后,apt

部署sersync实时同步服务器_seresync-爱代码爱编程

部署sersync实时同步服务器 一、部署rsync 服务端的部署 #安装rsync yum install rsync -y #编辑配置文件,我这里使用的是root用户 vim /etc/rsyncd.conf #

sersync实时同步-爱代码爱编程

Sersync实时同步 1.实时同步概述 2.实时同步案例 3.实时同步扩展 本章课程大纲 1.什么是实时同步? 2.实时同步的原理 3.实时同步的场景 4.实时同步的工具的选择 5.实时同步的案例演示 1.实时同步