• rsync 06-sersync文件实时同步


    sersync简介

    • sersync是基于Inotify开发的,类似于Inotify-tools的工具
    • sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字
    • rsync在同步的时候,只同步发生变化的这个文件或者这个目录
    • 当同步的目录数据量不大时,建议使用Rsync+Inotify-tools
    • 当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。

    sersync环境

    • 操作系统:centos6.6
    • 源服务器(sersync):192.168.10.1 --> 目标服务器(rsync):192.168.10.2
    • 目的:使用root用户,把源服务器上的/data目录下的文件实时同步到目标服务器的/data目录下

    目标服务器(192.168.10.2)部署rsync的daemon模式

    [root@rsync ~]# cat /etc/rsyncd.conf 
    uid=root
    gid=root
    max connections = 4
    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    ignore errors
    read only = no
    anth users = liang
    secrets file = /etc/rsyncd.passwd
    
    [test]
    path=/data
    

    源服务器(192.168.10.1)安装sersync软件

    1. 上传并解压sersync软件

    [root@sersync ~]# tar -zxvf sersync2.5_32bit_binary_stable_final.tar.gz
        GNU-Linux-x86/
        GNU-Linux-x86/sersync2
        GNU-Linux-x86/confxml.xml
    

    2. 设置工作目录

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

    3.修改配置文件

    [root@sersync ~]# vi /usr/local/sersync/confxml.xml
    [root@centos6]# cat confxml.xml
    ......
        <sersync>
      	<!-- 本地监视目录路径 -->
            <localpath watch=" /data/"> 
    			<!-- 定义同步Server ip和模块 -->
                <remote ip="192.168.10.2" name="test"/>
            </localpath>
    
    		<rsync>
    			<!-- rsync指令参数 -->
                <commonParams params="-artuz"/>
                <!--  rsync同步认证 -->
                <auth start="true" users="liang" passwordfile="/etc/rsyncd.password"/>
                <!-- 设置rsync远程服务端口,非默认端口需要打开自定义(若开启rsync+ssh, 则这里需定义SSH端口) -->
                <userDefinedPort start="false" port="873"/>
    			<!-- 设置超时时间 -->
                <timeout start="ture" time="100"/>
    			<!-- 设置rsync+ssh加密传输模式,默认关闭,开启需设置SSH加密证书 -->
                <ssh start="false"/>
            </rsync>
    
    		<!-- sersync传输失败日志脚本路径,每隔60会重新执行该脚本,执行完毕会自动清空。 -->
            <failLog path="/usr/local/sersync/logs/rsync_fail_log.sh" timeToExecute="60"/>
    ......
    

    4.启动sersync进程

    [root@sersync ~]# /usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml
    

    5.查看sersync进程

    [root@sersync ~]# ps -ef |grep sersync
    

    6.查看sersync帮助

    [root@sersync ~]# sersync2 -help
    参数-d:启用守护进程模式
    
    参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
    
    参数-n: 指定开启守护线程的数量,默认为10个
    
    参数-o:指定配置文件,默认使用confxml.xml文件
    
    参数-m:单独启用其他模块
        使用 -m refreshCDN 开启刷新CDN模块
        使用 -m socket 开启socket模块
        使用 -m http 开启http模块
        不加-m参数,则默认执行同步程序
    
  • 相关阅读:
    【NOI2008】志愿者招募
    【2010国家集训队】人员雇佣
    html5手机移动端三级联动城市选择器
    WebSocket实现简单的在线聊天
    游戏开发完整学习路线(各个版本都有)
    vs下开发windows服务程序
    解决Firefox下,页面元素不刷新问题
    C# JObject和JArray 的分享
    jQuery如何改变css伪元素样式
    safari 浏览器window.history.go(-1)运行无效解决办法
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9759120.html
Copyright © 2020-2023  润新知