美文网首页
Rsync+sersync实现数据实时同步

Rsync+sersync实现数据实时同步

作者: mk_ | 来源:发表于2021-07-20 16:23 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Rsync+sersync实现数据实时同步

          本文链接:https://www.haomeiwen.com/subject/zgzlmltx.html