Sersync服务器同步

sersync主要用于服务器同步,web镜像等功能。基于boost1.43.0,inotify api,rsync command.开发。目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一个是google开源项目Openduckbill(依赖于inotify- tools),这两个都是基于脚本语言编写的。相比较上面两个项目,本项目优点是:
  1. sersync是使用c++编写,而且对linux系统文件系统产生的临时文件和重复的文件操作进行过滤(详细见附录,这个过滤脚本程序没有实现),所以在结合rsync同步的时候,节省了运行时耗和网络资源。因此更快。

  2. 相比较上面两个项目,sersync配置起来很简单,其中bin目录下已经有基本上静态编译的2进制文件,配合bin目录下的xml配置文件直接使用即可。

  3. 另外本项目相比较其他脚本开源项目,使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状态。

  4. 本项目有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则按设定时长对同步失败的文件重新同步。

  5. 本项目自带crontab功能,只需在xml配置文件中开启,即可按您的要求,隔一段时间整体同步一次。无需再额外配置crontab功能。

  6. 本项目socket与http插件扩展,满足您二次开发的需要。

                                                                                               -------以上摘自wiki百科

一.配置同步目标服务器(服务器mfs2)

    1》安装,配置

[root@mfs2 ~]# yum install -y rsync
[root@mfs2 ~]# cat /etc/rsyncd.conf 
uid=root
gid=root
max connections=1024
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[zhangxc]
path=/mnt/rsync
comment = web files
ignore errors = yes
read only = no 
hosts allow = 192.168.0.30
hosts deny = *

    2》开启deamon服务。

      这里的开启方法有两种:

  1. [root@mfs2 ~]# rsync --daemon    //端口为873,可通过netstat -anltp 查看
  2. [root@mfs2 ~]# yum isntall -y xinetd    //xinetd管理rsync服务
    [root@mfs2 ~]# cat /etc/xinetd.d/rsync 
    # default: off
    # description: The rsync server is a good addition to an ftp server, as it \
    #    allows crc checksumming etc.
    service rsync
    {
        disable    = no
        flags        = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
    }
    [root@mfs2 ~]# /etc/init.d/xinetd start

二.主服务器配置

[root@mfs2 ~]# yum install rsync -y

下载sersync//这里我用的是sersync2.5.4_64bit_binary_stable_final.tar.gz

下载地址http://code.google.com/p/sersync/downloads/list

[root@mfs1 rsync]# tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz 
[root@mfs1 rsync]# cd GNU-Linux-x86/
[root@mfs1 GNU-Linux-x86]# vim confxml.xml 
...
 <sersync>
        <localpath watch="/mnt/rsync">
            <remote ip="192.168.0.31" name="zhangxc"/> 
        </localpath>
...

三.sersync启动参数

[root@mfs1 GNU-Linux-x86]# ./confxml.xml -r           //再开实时监控之钱对主服务器与远程目标服务器进行一次整体的同步
[root@mfs1 GNU-Linux-x86]# ./confxml.xml -d           //在主服务器开启sersync守护进程,使sersync在后台运行,开始实时同步

此时目标服务器与主服务器已同步

四.相关参数说明

如果需要将sersync运行前,已经存在的所有文件或目录全部同步到远程,要以-r参数运行
sersync,将本地与远程整体同步一次。
如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将
会无效

对于sersync使用可执行文件目录下的默认配置文件confxml.xml,如果需要使用另一个配置文
件,可以使用-o参数指定其它配置文件。

例:

[root@mfs1 GNU-Linux-x86]# ./sersync2 -r -d -o confxml2.xml    //-o参数指定其它配置文件






你可能感兴趣的:(rsync,sersync,sersync配置,sersync服务器同步,rsync服务器同步)