sersync简介
- sersync是基于Inotify开发的,类似于Inotify-tools的工具
- sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字
- rsync在同步的时候,只同步发生变化的这个文件或者这个目录
- 当同步的目录数据量不大时,建议使用Rsync+Inotify-tools
- 当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。
sersync环境
- 操作系统:centos6.6
- 源服务器(sersync):192.168.10.1 --> 目标服务器(rsync):192.168.10.2
- 目的:使用root用户,把源服务器上的/data目录下的文件实时同步到目标服务器的/data目录下
目标服务器(192.168.10.2)部署rsync的daemon模式
[root@rsync ~]# cat /etc/rsyncd.conf uid=root gid=root max connections = 4 log file=/var/log/rsyncd.log pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock ignore errors read only = no anth users = liang secrets file = /etc/rsyncd.passwd [test] path=/data
源服务器(192.168.10.1)安装sersync软件
1. 上传并解压sersync软件
[root@sersync ~]# tar -zxvf sersync2.5_32bit_binary_stable_final.tar.gz GNU-Linux-x86/ GNU-Linux-x86/sersync2 GNU-Linux-x86/confxml.xml
2. 设置工作目录
[root@sersync ~]# mv GNU-Linux-x86/ /usr/local/sersync/
3.修改配置文件
[root@sersync ~]# vi /usr/local/sersync/confxml.xml [root@centos6]# cat confxml.xml ...... <sersync> <!-- 本地监视目录路径 --> <localpath watch=" /data/"> <!-- 定义同步Server ip和模块 --> <remote ip="192.168.10.2" name="test"/> </localpath> <rsync> <!-- rsync指令参数 --> <commonParams params="-artuz"/> <!-- rsync同步认证 --> <auth start="true" users="liang" passwordfile="/etc/rsyncd.password"/> <!-- 设置rsync远程服务端口,非默认端口需要打开自定义(若开启rsync+ssh, 则这里需定义SSH端口) --> <userDefinedPort start="false" port="873"/> <!-- 设置超时时间 --> <timeout start="ture" time="100"/> <!-- 设置rsync+ssh加密传输模式,默认关闭,开启需设置SSH加密证书 --> <ssh start="false"/> </rsync> <!-- sersync传输失败日志脚本路径,每隔60会重新执行该脚本,执行完毕会自动清空。 --> <failLog path="/usr/local/sersync/logs/rsync_fail_log.sh" timeToExecute="60"/> ......
4.启动sersync进程
[root@sersync ~]# /usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml
5.查看sersync进程
[root@sersync ~]# ps -ef |grep sersync
6.查看sersync帮助
[root@sersync ~]# sersync2 -help 参数-d:启用守护进程模式 参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍 参数-n: 指定开启守护线程的数量,默认为10个 参数-o:指定配置文件,默认使用confxml.xml文件 参数-m:单独启用其他模块 使用 -m refreshCDN 开启刷新CDN模块 使用 -m socket 开启socket模块 使用 -m http 开启http模块 不加-m参数,则默认执行同步程序