sersync2 安装,配置

介绍

rsync

rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。

rsync 包括如下的一些特性:

能更新整个目录和树和文件系统;

有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;

对于安装来说,无任何特殊权限要求;

对于多个文件来说,内部流水线减少文件等待的延时;

能用rsh、ssh 或直接端口做为传输入端口;

支持匿名rsync 同步文件,是理想的镜像工具;

sersync

sersync利用inotify与rsync对服务器进行实时同步,其中inotify用于监控文件系统事件,rsync是目前广泛使用的同步算法,其优点是只对文件不同的部分进行操作,所以其优势大大超过使用挂接文件系统的方式进行镜像同步。由金山的周洋开发完成,是目前使用较多的文件同步工具之一。该工具和其他的工具相比有如下优点:

sersync是使用c++编写,由于只同步发生更改的文件,因此比其他同步工具更节约时间、带宽;

安装方便、配置简单;

使用多线程进行同步,能够保证多个服务器实时保持同步状态;

自带出错处理机制,通过失败队列对出错的文件重新出错,如果仍旧失败,则每10个小时对同步失败的文件重新同步;

自带crontab功能,只需在xml配置文件中开启,即可按您的要求,隔一段时间整体同步一次;

自带socket与http协议扩展,你可以方便的进行二次开发

服务器同步拓扑图

sersync2 安装,配置

安装,运行

slave:

yum install rsync -y

vim /etc/rsyncd.conf
uid=root
gid=root
max connections=36000
use chroot= yes
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[www]
path=/storage/www # 对应master需要同步的目录
ignore errors = yes
read only = no
hosts allow = 192.168.10.6 # master ip
hosts deny = *

#运行
rsync --daemon

master:

yum install rsync -y

wgethttp://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz

tar xzvf sersync2.5_64bit_binary_stable_final.tar.gz

mv GNU-Linux-x86 /usr/local/sersync

#sersync 启动参数
-r     #在监控前 先同步一次目录
-d     #后台运行
-o     #指定配置参数
#运行
/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

配置参数详解

#confxml.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
    <host hostip="localhost" port="8008"></host> "本地主机地址"
    <debug start="true"/> "是否开启debug模式"
    <fileSystem xfs="false"/> "是否支持xfs文件系统"
    <filter start="true"> "过滤,是否排除名称中含有指定字符串的文件的同步"
    <exclude expression="(.*).svn*"></exclude>
    </filter>
    <inotify> "本段即是对内核inotify事件的过滤,哪些事件要触发,哪些不要触发"
    <delete start="true"/>
    <createFolder start="true"/>
    <createFile start="false"/>
    <closeWrite start="true"/>
    <moveFrom start="true"/>
    <moveTo start="true"/>
    <attrib start="false"/>
    <modify start="false"/>
    </inotify>

    <sersync>
    <localpath watch="/m2odata/www"> "本地需要监控的目录 对应slave配置文件里的目录"
        <remote ip="192.168.10.6" name="www"/>
        <!--remote ip="" name="www"/ --> "支持多个目的端"
    </localpath>
    <rsync> "sersync调用rsync时的参数配置端"
        <commonParams params="-artuz"/>
        <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
        <userDefinedPort start="false" port="874"/><!-- port=874 -->
        <timeout start="false" time="100"/><!-- timeout=100 -->
        <ssh start="false"/>
    </rsync>
    "指定如果同步失败 记录日志到哪个文件 以便在60分钟后尝试重传"
    <failLog path="/usr/local/sersync/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
    <crontab start="true" schedule="600"><!--600mins--> "指定多长间隔执行一次完整同步"
        <crontabfilter start="true"> "过滤"
        <exclude expression="(.*).svn*"></exclude>
        </crontabfilter>
    </crontab>
    <plugin start="false" name="command"/>
    </sersync>

    <plugin name="command"> "扩展插件功能的配置举例"
    <param prefix="/bin/sh" suffix="" ignoreError="true"/>    <!--prefix /opt/tongbu/mmm.sh suffix-->
    <filter start="false">
        <include expression="(.*).php"/>
        <include expression="(.*).sh"/>
    </filter>
    </plugin>

    <plugin name="socket">
    <localpath watch="/opt/tongbu">
        <deshost ip="192.168.138.20" port="8009"/>
    </localpath>
    </plugin>
    <plugin name="refreshCDN">
    <localpath watch="/data0/htdocs/cms.xoyo.com/site/">
        <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
        <sendurl base="http://pic.xoyo.com/cms"/>
        <regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
    </localpath>
    </plugin>
</head>

原文链接: https://www.cnblogs.com/metasequoia/p/5081258.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/226458

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午1:14
下一篇 2023年2月13日 下午1:14

相关推荐