sersync+rsync实时数据同步
1、相关背景介绍
前面有关文章配置实现了rsync增量同步以及配置为定时同步,但是在实际生产环境中需要实时的监控数据从而进行同步(不间断同步),可以采取inotify-tools+rsync或者rsync+sersync进行实时同步。
以上两种方法的区别是:
rsync+Inotify-tools
(1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;
(2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。
rsync+sersync
(1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字;
(2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。
小结:当同步的目录数据量不大时,建议使用rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用rsync+sersync。
2、rsync的配置
sersync是以rsync为前提的,所以需要先配置rsync,相关说明可以参考前面有关文章
3、sersync的安装及配置
3.1 创建规范目录
mkdir -p /service/tools
mkdir /application
3.2 上传
上传sersync_installdir_64bit到/service/tools
这里提供一个sersync_installdir_64bit的免安装版本,点击此处获取
3.3 解压
unzip sersync_installdir_64bit.zip
3.4 安装
免安装版本,移动解压后的文件到安装目录下即可
mv sersync_installdir_64bit/sersync /application/
3.5 配置
cd /application/sersync/
chmod +x bin/sersync #添加执行权限
ln -s /application/sersync/bin/sersync /usr/bin/ #创建快捷方式便于tab
修改配置文件
vim conf/confxml.xml
修改以下几处内容
15:<createFile start="true"/>
24:<localpath watch="/backup">
25:<remote ip="192.168.1.41" name="backup"/>
30:<commonParams params="-azP"/>
31:<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
36:<failLog path="/application/sersync/logs/rsync_fail_log.sh"
保存退出
3.6 启动
sersync -h #查看帮助
mkdir -p /backup 新建在配置文件中指定的需要实时同步的目录,可以在此目录下创建一些文件进行测试
对照帮助添加参数启动sersync,如果配置文件有错误则无法启动
sersync -dro /application/sersync/conf/confxml.xml
启动成功后会创建监控目录的进程,备份服务器下相关目录也会随时进行同步
3.7 关于配置文件confxml.xml的说明:
4、sersync监控多个目录
修改配置文件实现sersync监控多个目录,并不能简单的通过在confxml.xml这一个配置文件中添加多个目录,正确的做法是写多个配置文件,进而启动多个sersync进程加载相应的配置文件来实现
博主原创文章,转载请务必注明出处