当前位置:专辑空间 -- 技术备忘录
Rsync+sersync实现多台服务器数据实时同步
2022-05-30 20:17:09

源服务器安装sersync工具,实时触发rsync进行同步

1.上传sersync2.5.4_64bit_binary_stable_final.tar.gz到/root目录下

[root@serysyc ~]# tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@serysyc ~]# mv GNU-Linux-x86/ /usr/local/sersync
[root@serysyc ~]# cd /usr/local/sersync/
[root@serysyc sersync]# cp confxml.xml confxml.xml.bak
[root@serysyc sersync]# vim confxml.xml


参数说明:
localpath watch="/var/www/html":#源服务器同步目录
192.168.10.5:#目标服务器IP地址
name=“rsync”: #目标服务器rsync同步目录共享模块名称
users=“rsync”: #目标服务器rsync同步用户名
passwordfile="/etc/passwd.pass": #目标服务器rsync同步用户的密码在源服务器的存放路径
remote ip=“192.168.10.5”: #目标服务器ip,每行一个
failLogpath="/tmp/rsync_fail_log.sh" #脚本运行失败日志记录
start=“true” #设置为true,每隔600分钟执行一次全盘同步

2.现在检测实时同步

在源服务器/var/www/html目录写入数据

[root@serysyc html]# echo '123' > 2.txt
[root@serysyc html]# echo '123.com' > 3.txt
[root@serysyc html]# echo '123.com' > 4.txt
[root@serysyc ~]# /usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml
## 执行后完成此命令后,会一直处在持续监控状态,达到实时同步目的
....

3.在目标服务器查看同步情况

4.设置sersync监控开机自动执行

结合crontab计划任务,定时检查sersync2是否运行,如果没有,则执行脚本重新执行/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml 来持续监控源服务器

vim /etc/rc.d/rc.local  #编辑,在最后添加一行
/usr/local/sersync/sersync2 -d -r -o  /usr/local/sersync/confxml.xml #设置开机自动运行此服务
chmod +x /etc/rc.d/rc.local  

添加脚本监控sersync正常运行

#!/bin/sh

sersync="/usr/local/sersync/sersync2"

confxml="/usr/local/sersync/confxml.xml"

status=$(ps -aux |grep 'sersync2'|grep -v 'grep'|wc -l)

if [ $status -eq 0 ];

then

$sersync -d -r -o $confxml &

else

exit 0;

fi

 

做计划任务,每一小时检查一次

* */1 * * * /root/check_sersync.sh


发布:木船