使用rsync+sersync同步数据

@努力的小王  January 19, 2018

QQ截图20180119001219.png

1.serync简介:

     sersync是周洋同学在金山工作时在inotify基础上深度开发而成,sersync已不在更新,感谢周洋同学的开放源代码精神,sersync的实现需要建立在rsync和rsyncdaemon基础上。
2.简单笔记,深度理解
      clinet端(在生产环境中可以是web服务器或者nfs客户端......)
      server端(备份服务器即运行rsyncdaemon)
3.搭建过程(命令模式,此处脚本实现只见部分,剩下的未载)
    clinet 端:
     先rpm -qa rsync检查是否安装rsync软件,然后再开始搭建
    wget -c http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
  ##serync 下载地址
tar zxvf sersync*     ##解压serync
解压后得到两个文件
         rwxr-xr-x. 1 root root    2214 Oct 26  2011 confxml.xml
         rwxr-xr-x. 1 root root 1810128 Oct 26  2011 sersync2
其中sersync2 为启动文件
    confxml.xml为配置文件

cat confxml.xml  ##这是我修改后的配置文件

    <sersync>
    <localpath watch="/html">    ##clinet 监控的本地目录
        <remote ip="192.168.3.144" name="html"/>  server端的ip及rsyncd.conf里的模块
        <!--<remote ip="192.168.8.39" name="tongbu"/>-->###将来可以往多个rsyncdaemon服务器上备份
        <!--<remote ip="192.168.8.40" name="tongbu"/>-->
    </localpath>
<rsync>
        <commonParams params="-avz"/>   inotify中使用的参数,详细见我的inotify笔记
        <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
    使用的rsyncdaemon用户名及认证密码文件
        <userDefinedPort start="false" port="874"/><!-- port=874 -->
        <timeout start="false" time="100"/><!-- timeout=100 -->
        <ssh start="false"/>
    超时重传及修改默认端口和ssh通道     #####true则为打开,false则为关闭
    </rsync>
最后写一个监控脚本,可以开机运行,做计划任务都行,我这里让它隔1分钟在后台运行
#!/bin/bash
SERSYNC="/usr/local/serync/sersync2"
CONF_FILE="/usr/local/serync/confxml.xml"
STATUS=$(ps aux |grep 'sersync2'|grep -v 'grep'|wc -l)
if [ $STATUS -eq 0 ];
then
        $SERSYNC -d -r -o $CONF_FILE &
else
        exit 0;
fi
chmod +x serync.sh        
        
          
*/1 * * * * /sersync.sh > /dev/null 2>&1 ##一分钟后运行
        
server 端
  server端脚本参见linux使用rsync daemon 定时同步数据。
  ######最后夜深了,来一首“隐形的翅膀”#######
   

[Meting]
[Music server="netease" id="327115" type="song"/]
[/Meting]


添加新评论