sersync
sersync是基于inotify-tools开发的,类似inotify-tools的工具,sersync可以记录被监控目录发生变化具体某一个文件或目录的名字,然后rsync推送只推送这个发生变化的文件
Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别?
Rsync+Inotify-tools
- Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;
- rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。
Rsync+sersync
- sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字
- rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。
小结:当同步的目录数据量不大时,建议使用Rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。
环境介绍
nfs客户端:172.16.1.101
backup备份服务器:172.16.1.100
前提rsync服务搭建完成
backup作为rsync --daemon
能在nfs上执行rsync推送
安装sersync
sersync不再更新,可以自行wget安装包,
这里是提前下载的安装包
上传到nfs服务器上
解压tar -xf
将文件夹mv到/usr/local/sersync,不用提前创建sersync
confxml.xml是配置文件
sersync2执行命令
vim编辑配置文件
就是inotify监控的配置,与rsync推送服务的配置,可以仔细看下之前的文章,就了解这些配置意思了
配置完保存退出
执行/usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml
在nfs服务器/data目录下执行创建文件操作
sersync监控自动执行将新创建文件推送到backup服务器备份目录/backup里
至此sersync+rsync搭建完成
/usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml加入/etc/rc.local开机启动
创建脚本监控sersync是否正常运行,并每隔5分定时执行脚本