Rsync+sersync实现数据实时同步

1、安装sercync依赖

[root@nfs ~]# yum install -y inotify-tools rsync

2、安装sercync

[root@nfs ~]# mkdir -p /server/soft

[root@nfs ~]# cd /server/soft/

//有时下载失败,所以要本地留存才行

[root@nfs soft]# tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz

[root@nfs soft]# mv GNU-Linux-x86 /usr/local/sersync

3、修改配置文件

[root@nfs soft]# cd /usr/local/sersync/

[root@nfs sersync]# cp confxml.xml confxml.xml.bak

[root@nfs sersync]# vim confxml.xml

5    <fileSystem xfs="true"/>    #第5行 false改为true

13          <delete start="true"/> #第13-20行 false改为true,#说明:监控以上变化推送

14        <createFolder start="true"/>

15        <createFile start="false"/>

16        <closeWrite start="true"/>

17        <moveFrom start="true"/>

18        <moveTo start="true"/>

19        <attrib start="true"/>

20        <modify start="true"/>

24        <localpath watch="/data">      #监控的本地目录

25      <remote ip="192.168.1.172" name="backup"/>    #推送的目标,rsync服务端的信息  backup为rsync模块名

30      <commonParams params="-avz"/>  #rsync命令选项

31      <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/> #rsync认证信息

4、生成密码文件

[root@nfs sersync]# echo 'talent' > /etc/rsync.passwd

[root@nfs sersync]# chmod 600 /etc/rsync.passwd

[root@nfs sersync]ln -s /usr/local/sersync/sersync2 /usr/bin/

[root@nfs sersync]sersync2 -dro /usr/local/sersync/confxml.xml  #针对配置文件confxml.xml启动sersync

5、设置sersync监控开机自动运行

[root@nfs sersync]vi /etc/rc.d/rc.local  #编辑,在最后添加一行

[root@nfs sersync]/usr/local/sersync/sersync2 -dro  /usr/local/sersync/confxml.xml  #设置开机自动运行脚本

[root@nfs data]# chmod +x /etc/rc.d/rc.local

6、测试

在171 /data目录 增删改目录文件,

观察172 /backup 目录的变化

[root@backup backup]# watch ls

7、添加脚本监控sersync是否正常运行

[root@nfs sersync]vim  /server/scripts/check_sersync.sh  #编辑,添加以下代码

#!/bin/sh

sersync="/user/locao /sersync/sersync2"

confxml="/usr/loacl/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

[root@nfs sersync]chmod +x //server/scripts/check_sersync.sh  #添加脚本执行权限

把这个脚本加到任务计划,定期执行检测

补充: 多实例情况

1、配置多个confxml.xml文件(比如:www、bbs、blog....等等)

2、根据不同的需求同步对应的实例文件

/usr/local/sersync/sersync2  -dro /usr/local/sersync/www_confxml.xml

/usr/local/sersync/sersync2  -dro /usr/local/sersync/bbs_confxml.xml

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容