一、sersync简介

1、sersync是基于Inotify开发的,类似于Inotify-tools的工具

2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录。

二、Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别?

1、Rsync+Inotify-tools

(1):Inotify-tools只能记录下被监听的目录发生了变化(包括增加、删除、修改),并没有把具体是哪个文件或者哪个目录发生了变化记录下来;

(2):rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此,效率很低。

2、Rsync+sersync

(1):sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字;

(2):rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),因此,效率很高。

小结:当同步的目录数据量不大时,建议使用Rsync+Inotify-tools(http://90sec.blog.51cto.com/7404127/1543843);当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。

三、基本操作配置

sersync+rsync实时数据同步_第1张图片

1、在132上配置rsync服务

    [root@90sec ~]# yum -y install rsync

     [root@90sec ~]# yum -y install xinetd

     [root@90sec ~]# vim /etc/xinetd.d/rsync 

     [root@90sec ~]# chkconfig rsync on

    sersync+rsync实时数据同步_第2张图片

    [root@90sec /]# mkdir data

    [root@90sec /]# vim /etc/rsyncd.conf

sersync+rsync实时数据同步_第3张图片

    [root@90sec /]# vim /etc/rsyncd.passwd

wKioL1P9TPewC0yEAAAqAWHElxU830.jpg

    [root@90sec /]# chmod 600 /etc/rsyncd.passwd 

    [root@90sec /]# service xinetd restart

配置sersync端

[root@90sec ~]# yum -y install rsync

     [root@90sec ~]# yum -y install xinetd

     [root@90sec ~]# vim /etc/xinetd.d/rsync 

    sersync+rsync实时数据同步_第4张图片

    [root@90sec src]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz

    [root@90sec data]# mv GNU-Linux-x86/ /usr/local/sersync

    [root@90sec GNU-Linux-x86]# vim /usr/local/sersync/conf/confxml.xml

sersync+rsync实时数据同步_第5张图片 

[root@90sec GNU-Linux-x86]# mkdir -p /data

[root@90sec GNU-Linux-x86]# echo "admin" > /etc/rsyncd.passwd 

[root@90sec GNU-Linux-x86]# chmod 600 /etc/rsyncd.passwd 

设置成开机自动启动

[root@90sec sersync]# echo '/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml' >> /etc/rc.d/rc.local

[root@90sec sersync]# source /etc/rc.d/rc.local 

sersync+rsync实时数据同步_第6张图片


测试

sersync+rsync实时数据同步_第7张图片