rsync+sersync实现数据双向实时同步

sersync是基于inotify开发的,类似于inotify-tools的工具,可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录,并且因为异常导致的同步失败有记录,便于恢复,确保高可用!

rsync安装

现在大部分操作系统,rsync已默认安装,可用下面命令检查:

[root@zgdaapp2 sersync2.5.4]# whereis rsync
rsync: /usr/bin/rsync /etc/rsync2.passwd /usr/share/man/man1/rsync.1.gz

如没有安装,可参考下面命令安装:

yum install rsync -y

编辑rsync配置文件

[root@app1 etc]# cat /etc/rsyncd.conf 
motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.log
lock file = /var/run/rsync.lock
port = 873
address = 10.180.9.97
uid = root
gid = root
use chroot = yes
list = false
max connections =10
hosts deny=*
hosts allow = 10.180.9.98

[backup]
comment = rsync test 
path = /home/rsync_test
ignore errors
read only = no
#exclude = test/
auth users = rsync_backup
secrets file = /etc/rsyncd.secrets

配置文件解析

[root@zgdaapp2 sersync2.5.4]# cat /etc/rsyncd.conf 
uid = root                         #运行进程的身份                     
gid = root                         #运行进程的组                
address =192.168.0.50              #监听IP          
port =873                          #监听端口              
hosts allow =192.168.0.0/24        #允许同步客户端的IP地址,可以是网段,或者用*表示所有 192.168.1.0/24或192.168.1.0/255.255.255.0  
use chroot = yes                   #是否囚牢,锁定家目录,rsync被黑之后,黑客无法再rsync运行的家目录之外创建文件,选项设置为yes            
max connections =10                 #最大连接数           
pid file =/var/run/rsyncd.pid       #进程PID,自动生成  
lock file =/var/run/rsync.lock      #指max connectios参数的锁文件
log file =/var/log/rsyncd.log       #日志文件位置

 
[wwwroot]                           #同步模块名称           
path =/opt/cosmo/test/              #同步文件路径     
comment = used for web-data root    #模块描述
read only = false                   #设置服务端文件读写权限   
list = yes                          #是否允许查看模块信息
auth users = rsyncuser              #备份的用户,和系统用户无关
secrets file =/etc/rsync.passwd     #存放用户的密码文件,格式是  用户名:密码

配置密码文件

[root@app1 etc]# cat  rsyncd.secrets
rsync_backup:rsync1_backup
[root@app1 etc]# cat rsync2.passwd
rsync1_backup
[root@app1 etc]# chmod 600 rsyncd.secrets
[root@app1 etc]# chmod 600 rsync2.passwd

验证rsync
启动:

[root@app1 etc]# rsync --daemon
[root@app1 etc]# ps -ef | grep rsync
root        813      1  0 Jul18 ?        00:00:00 rsync --daemon
root      68110  65719  0 09:43 pts/1    00:00:00 grep --color=auto rsync

同步测试

rsync -vzrtopg --progress  [email protected]::backup /home/rsync_test

安装sersync服务

sersync下载地址:sersync2.5.4-C文档类资源-CSDN下载

[root@app1 soft]# cd /home/soft
[root@app1 soft]# tar -zxvf  sersync2.5.4.tar.gz -C /home
[root@app1 soft]# ls /home/sersync2.5.4/
confxml.xml  sersync2

配置sersync服务

编辑confxml.xml文件,共需要修改如下三处:
1,修改本地同步目录、rsync模块名称

24         
 25             
 26             
 27             
 28         

2,rsync密码认证、修改用户名、修改用户名

29         
 30             
 31             
 32             
 33             
 34             
 35         
 

3,错误日志路径,用于记录和恢复同步失败的文件

36         

启动sersync

[root@app1 sersync2.5.4]# /home/sersync2.5.4/sersync2 -r -d -o /home/sersync2.5.4/confxml.xml
[root@app1 sersync2.5.4]# ps -ef | grep sersync2
root     155942      1  0 08:36 ?        00:00:00 /home/sersync2.5.4/sersync2 -r -d -o /home/sersync2.5.4/confxml.xml
root     157405 156458  0 10:08 pts/2    00:00:00 grep --color=auto sersync2

其他机器配置通以上配置,修改响应IP和路径即可。

测试:

/home/rsync_test下对文件进行增删改,查看其他机器同步情况。

你可能感兴趣的:(linux,服务器,运维)