rsync+sersync实现数据文件实时同步

一.简介centos

sersync是基于Inotify开发的,相似于Inotify-tools的工具;服务器

sersync能够记录下被监听目录中发生变化的(包括增长、删除、修改)具体某一个文件或某一个目录的名字;ssh

rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来讲是很小的,rsync在遍历查找比对文件时,速度很快),所以,效率很高;工具

:当同步的目录数据量不大时,建议使用Rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件不少时,建议使用Rsync+sersync。测试

 

二.具体操做ui

操做系统:centos6.6
源服务器(sersync):192.168.0.1  --> 目标服务器(rsync):192.168.0.2

目的:使用root用户,把源服务器上的/test1目录下的文件实时同步到目标服务器的/test2目录下google

 
(一)目标服务器(rsync):192.168.0.2
一、安装rsync
yum -y install rsync
二、建立rsyncd.conf配置文件
vi /etc/rsyncd.conf
--------------------------
uid = root
gid = root
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
 
[test]     #模块自定义名称 ---这个须要与源服务器Sersync对应
path = /test2 #须要同步到这个目录
comment = Mirror to test
ignore errors = yes
use chroot = no  #默认为true,修改成no,增长对目录文件软链接的备份
read only = no    #设置rsync服务端文件为读写权限
hosts allow = 192.168.0.1 #容许访问源服务器IP
hosts deny = 0.0.0.0/32 #拒绝全部IP链接,先容许后拒绝
exclude =/data1 /data2  不一样步的目录
 
:这里只是列出一些配置项而已,其余在配置时按需选择。
------------------------------
三、启动服务

/usr/bin/rsync --daemon /etc/rsyncd.confspa

(二)源服务器(sersync):192.168.0.1
一、安装rsync
yum -y install rsync
二、同步数据

rsync -avzP /test1/ root@192.168.0.2::test/  测试同步文件操作系统

--/test1/ 同步目录
--192.168.0.2 目的服务器,安装并配置完毕rsync
--test 模块自定义名称,即目的服务器的rsync配置文件中配置的
三、安装sersync工具,实时触发rsync进行同步
#cd /usr/local/src

#wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gzcode

 
#tar zxvf sersync2.5_32bit_binary_stable_final.tar.gz
    GNU-Linux-x86/
    GNU-Linux-x86/sersync2
    GNU-Linux-x86/confxml.xml
#mv /usr/local/src/GNU-Linux-x86/ /usr/local/sersync/
#vi /usr/local/sersync/confxml.xml
须要修改以下几个地方:
<localpath watch="/data/test">
    <!—-设置监控的目录-->
     <remote ip="192.168.0.2" name="test"/>
    <!—设置从服务器的IP-->
    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
    <commonParams params="-artuz"/>
     <auth start="true" users="root" passwordfile="/etc/rsyncd.secret"/>
    <!—-设置同步的用户名和密码文件-->
     <userDefinedPort start="true" port="873"/><!-- port=874 -->
    <!—-设置rsync的端口,要和从那边开启的端口一致-->
    <timeout start="false" time="100"/><!-- timeout=100 -->
    <ssh start="false"/>
</rsync>
 
注:若是目的服务器的rsync有配置帐号密码时,这里须要配置/etc/rsyncd.secret
四、启动sersync

/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

相关文章
相关标签/搜索