sersync是基于inotify开发的,类似于inotify-tools的工具,可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录,并且因为异常导致的同步失败有记录,便于恢复,确保高可用!
rsync安装
现在大部分操作系统,rsync已默认安装,可用下面命令检查:
[root@zgdaapp2 sersync2.5.4]# whereis rsync
rsync: /usr/bin/rsync /etc/rsync2.passwd /usr/share/man/man1/rsync.1.gz
如没有安装,可参考下面命令安装:
yum install rsync -y
编辑rsync配置文件
[root@app1 etc]# cat /etc/rsyncd.conf
motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.log
lock file = /var/run/rsync.lock
port = 873
address = 10.180.9.97
uid = root
gid = root
use chroot = yes
list = false
max connections =10
hosts deny=*
hosts allow = 10.180.9.98
[backup]
comment = rsync test
path = /home/rsync_test
ignore errors
read only = no
#exclude = test/
auth users = rsync_backup
secrets file = /etc/rsyncd.secrets
配置文件解析
[root@zgdaapp2 sersync2.5.4]# cat /etc/rsyncd.conf
uid = root #运行进程的身份
gid = root #运行进程的组
address =192.168.0.50 #监听IP
port =873 #监听端口
hosts allow =192.168.0.0/24 #允许同步客户端的IP地址,可以是网段,或者用*表示所有 192.168.1.0/24或192.168.1.0/255.255.255.0
use chroot = yes #是否囚牢,锁定家目录,rsync被黑之后,黑客无法再rsync运行的家目录之外创建文件,选项设置为yes
max connections =10 #最大连接数
pid file =/var/run/rsyncd.pid #进程PID,自动生成
lock file =/var/run/rsync.lock #指max connectios参数的锁文件
log file =/var/log/rsyncd.log #日志文件位置
[wwwroot] #同步模块名称
path =/opt/cosmo/test/ #同步文件路径
comment = used for web-data root #模块描述
read only = false #设置服务端文件读写权限
list = yes #是否允许查看模块信息
auth users = rsyncuser #备份的用户,和系统用户无关
secrets file =/etc/rsync.passwd #存放用户的密码文件,格式是 用户名:密码
配置密码文件
[root@app1 etc]# cat rsyncd.secrets
rsync_backup:rsync1_backup
[root@app1 etc]# cat rsync2.passwd
rsync1_backup
[root@app1 etc]# chmod 600 rsyncd.secrets
[root@app1 etc]# chmod 600 rsync2.passwd
验证rsync
启动:
[root@app1 etc]# rsync --daemon
[root@app1 etc]# ps -ef | grep rsync
root 813 1 0 Jul18 ? 00:00:00 rsync --daemon
root 68110 65719 0 09:43 pts/1 00:00:00 grep --color=auto rsync
同步测试
rsync -vzrtopg --progress rsync_backup@10.180.9.98::backup /home/rsync_test
安装sersync服务
sersync下载地址:sersync2.5.4-C文档类资源-优快云下载
[root@app1 soft]# cd /home/soft
[root@app1 soft]# tar -zxvf sersync2.5.4.tar.gz -C /home
[root@app1 soft]# ls /home/sersync2.5.4/
confxml.xml sersync2
配置sersync服务
编辑confxml.xml文件,共需要修改如下三处:
1,修改本地同步目录、rsync模块名称
24 <localpath watch="/home/rsync_test">
25 <remote ip="10.180.9.98" name="backup"/>
26 <!--<remote ip="192.168.8.39" name="tongbu"/>-->
27 <!--<remote ip="192.168.8.40" name="tongbu"/>-->
28 </localpath>
2,rsync密码认证、修改用户名、修改用户名
29 <rsync>
30 <commonParams params="-artuz"/>
31 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync2.passwd"/>
32 <userDefinedPort start="false" port="874"/><!-- port=874 -->
33 <timeout start="false" time="100"/><!-- timeout=100 -->
34 <ssh start="false"/>
35 </rsync>
3,错误日志路径,用于记录和恢复同步失败的文件
36 <failLog path="/home/sersync2.5.4/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
启动sersync
[root@app1 sersync2.5.4]# /home/sersync2.5.4/sersync2 -r -d -o /home/sersync2.5.4/confxml.xml
[root@app1 sersync2.5.4]# ps -ef | grep sersync2
root 155942 1 0 08:36 ? 00:00:00 /home/sersync2.5.4/sersync2 -r -d -o /home/sersync2.5.4/confxml.xml
root 157405 156458 0 10:08 pts/2 00:00:00 grep --color=auto sersync2
其他机器配置通以上配置,修改响应IP和路径即可。
测试:
/home/rsync_test下对文件进行增删改,查看其他机器同步情况。