rsync+sersync实现数据文件实时同步

rsync+sersync实现数据文件实时同步


参考自https://www.cnblogs.com/gdou123czh/p/5713283.html
自测没毛病,谢谢宅在壳里的蜗牛

环境及目标:

系统:centOs
服务器:目标服务器(rsync):192.168.1.43 源服务器(sersync):192.168.1.44
目标:需要将192.168.1.44 上的 /upload 目录(包括子目录)实时同步到 192.168.1.43 /upload 下
架构:rsync+sersync
rsync 为数据同步工具,sersync为目录监听工具,可监听到目录的增删改操作,两个工具同步可以实现实时增量同步目录。

安装步骤

(一)目标服务器(rsync):192.168.1.43
1、安装rsync

yum -y install rsync

2、创建rsyncd.conf配置文件

  vi /etc/rsyncd.conf

编辑

uid = root
gid = root
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
 
[test]     #模块自定义名称 ---这个需要与源服务器Sersync对应
path = /upload #需要同步到这个目录,注意后面不要有空格,不然会有一个filenotfound异常
comment = Mirror to test
ignore errors = yes
use chroot = no  #默认为true,修改为no,增加对目录文件软连接的备份
read only = no    #设置rsync服务端文件为读写权限
hosts allow = 192.168.1.44 #允许访问源服务器IP
  • 注:这里只是列出一些配置项而已,其他在配置时按需选择。

3、启动服务

/usr/bin/rsync --daemon /etc/rsyncd.conf

(二)源服务器(sersync):192.168.1.44
1、安装rsync

yum -y install rsync

2、同步数据
测试同步文件

rsync -avzP /upload/ root@192.168.1.43::test/ 
--/upload/ 同步目录
--192.168.1.43 目的服务器,安装并配置完毕rsync
--test 模块自定义名称,即目的服务器的rsync配置文件中配置的

备注:如果手动同步失败,检查防火墙,看看目标和源服务器的873端口是否开放。
可参考https://blog.csdn.net/bbwangj/article/details/74502967

3、安装sersync工具,实时触发rsync进行同步

#cd /usr/local/src
#wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz

备注:下载不到可另找网站下载上传到对应目录即可

解压修改参数

#tar zxvf sersync2.5_32bit_binary_stable_final.tar.gz
    GNU-Linux-x86/
    GNU-Linux-x86/sersync2
    GNU-Linux-x86/confxml.xml
#mv /usr/local/src/GNU-Linux-x86/ /usr/local/sersync/
#vi /usr/local/sersync/confxml.xml

需要修改如下几个地方:

<localpath watch="/upload">
    <!—-设置监控的目录-->
    <remote ip="192.168.1.44" name="test"/>
    <!—设置从服务器的IP-->
    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
    <commonParams params="-artuz"/>
    <auth start="true" users="root" passwordfile="/etc/rsyncd.secret"/>
    <!—-设置同步的用户名和密码文件-->
    <userDefinedPort start="true" port="873"/><!-- port=874 -->
    <!—-设置rsync的端口,要和从那边开启的端口一致-->
    <timeout start="false" time="100"/><!-- timeout=100 -->
    <ssh start="false"/>
</rsync>

注:如果目的服务器的rsync有配置账号密码时,这里需要配置/etc/rsyncd.secret
4、启动sersync

/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

好了,现在试试在192.168.1.44:/upload 下touch 一个文件试试,会同步实时更新到192.168.1.43:/upload下
完成!

引用> https://www.cnblogs.com/gdou123czh/p/5713283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值