Linux rsync+sersync实现文件时时同步

一.简介

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

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

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

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


二.具体操作

操作系统:centos6.6

源服务器(sersync):192.168.0.1  --> 目标服务器(rsync):192.168.0.2

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


(一)目标服务器(rsync):192.168.0.2

1、安装rsync

yum -y install rsync

2、创建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  不同步的目录


:这里只是列出一些配置项而已,其他在配置时按需选择。

------------------------------

3、启动服务

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

(二)源服务器(sersync):192.168.0.1

1、安装rsync

yum -y install rsync

2、同步数据

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

--/test1/ 同步目录

--192.168.0.2 目的服务器,安装并配置完毕rsync

--test 模块自定义名称,即目的服务器的rsync配置文件中配置的

3、安装sersync工具,实时触发rsync进行同步

#cd /usr/local/src

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


#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

需要修改如下几个地方:








注:如果目的服务器的rsync有配置账号密码时,这里需要配置/etc/rsyncd.secret

4、启动sersync

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

上一篇:ASP.NET Core微服务之基于Consul实现服务治理(3)


下一篇:EOS 智能合约开发实践(一)EOS钱包的简单使用