sersync+rsync实时同步数据

rsync是linux系统中的数据镜像备份工具。支持本地复制,或者与其他SSH、rsync主机同步。rsync使用所谓的"Rsync算法"进行数据同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
Sersync是一个利用Inotify与Rsync技术实现对服务器数据实时复制的解决方案。
Sersync特性:
使用C++编写,支持对监控事件的过滤功能。
采用XML配置文件,然后由守护进程启动,配置起来比Inotify-tools更简单。
使用多线程进行复制,即可以并发复制多个不同文件。
Sersync自带出错处理机制,通过失败队列对出错的文件重新进行复制。
Sersync自带crontab功能,可实现对失败队列中的文件定时整体复制。
Sersync自带socket与HTTP的协议扩展,可以满足有特殊需求的公司二次开发。
1、rsync部署
1.1 安装rsync
1.2 rsync配置
Rsync默认使用873端口,需关闭防火墙后开通防火墙策略。
rsyncd.conf配置如下
1.3 创建data共享目录
此文件夹为1.2章节中rsync配置的data目录,如存在则无需创建。
1.4 创建密码文件
1.4.1 服务端
rsync_user 是 1.2 配置文件中的 auth users,密码可以任意内容。
必须设置600权限
1.4.2 客户端
客户端与服务端创建密码文件格式不同,用于上传或下载文件时做认证用途
须设置600权限
1.5 启动rsync
1.6 文件上传下载
2 sersync部署
2.1 sersync下载
解压文件:
2.2 创建sersync目录
2.3 移动sersync解压后的文件
2.4 配置sersync
2.5 启动sersync
2.6 停止sersync
3 多目录同步
多目录同步时首先需要在rsync.conf配置中创建多个共享目录,配置如下:
3.2 sersync配置
创建多个sersync的confxml配置,多个confxml不能重名,例如:confxml_one.xml、confxml_two.xml,并修改配置文件中相应的配置指向不同的目录。
最后启动多个sersync程序,并分别指定配置文件即可。
4 双向同步
如果需要服务器之间双向同步,则在两台服务器中同时部署配置sersync和rsync即可。