CentOS7 rsync(sersync)

Rsync简介

Rsync(Remote Synchronize)是一款开源的、快速的、多功能的、可以实现全量及增量的本地或远程数据同步备份的优秀工具,并且支持多种操作系统平台运行。
Rsync具有本地与远程两台主机之间的数据快速复制同步镜像、远程备份等功能,该功能类似scp,但是优于scp功能,还具有本地不同分区目录之间全量及增量复制数据。
Rsync同步数据镜像时,通过“quick check”算法,仅同步大小或最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性变化的同步,所以可以实现快速同步。
官网文档:https://rsync.samba.org/ftp/rsync/rsync.html

系统环境

系统版本:CentOS Linux release 7.5.1804 (Core)
简单架构图

 

目标服务器配置

1.安装软件

[root@node4 ~]# yum install -y rsync
[root@node4 etc]# vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
use chroot = no
max connections = 200
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[backup]
path = /data/backup
comment = from node3 to node4
ignore errors = yes
read only = no
list = no
timeout = 600
auth users = rs_backup
secrets file = /etc/rsync.password
hosts allow = 172.16.88.23
hosts deny = 0.0.0.0/32
保存配置文件

2.创建密码文件(文件格式 用户:密码)

[root@node4 etc]# cat /etc/rsync.password 
rs_backup:feBa1850c0K4984c20a

3.修改密码文件权限

[root@node4 etc]# chmod 600 /etc/rsync.password

4.创建用户

[root@node4 etc]# useradd -s /sbin/nologin -M rsync

5.创建数据存储目录

[root@node4 etc]# mkdir -p /data/backup
[root@node4 etc]# chown -R rsync:rsync /data/backup

6.启动应用程序,并设置开机启动

[root@node4 etc]# service rsyncd start

[root@node4 etc]# chkconfig rsyncd on

7.防火墙策略

检查selinux是否关闭
[root@node4 etc]# getenforce 
Disabled
开启873端口
[root@node4 etc]# firewall-cmd --zone=public --add-port=873/tcp --permanent
[root@node4 etc]# firewall-cmd --reload

 

源服务器配置

1.安装软件

 

[root@node3 ~]# yum install -y rsync
[root@node3 ~]# vim /etc/rsyncd.conf 
log file = /var/log/rsyncd.log
pidfile = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[backup]
comment = from node3 to node4
uid = rsync
gid = rsync
port=873
保存配置文件

 

2.创建客户端密码文件

[root@node3 ~]# cat /etc/rsync.password
feBa1850c0K4984c20a
[root@node3 ~]# chmod 600 /etc/rsync.password

3.创建用户

[root@node3 ~]# useradd -s /sbin/nologin -M rsync

4.创建测试推送的数据目录

[root@node3 ~]# mkdir /data
[root@node3 ~]# cd /data/
[root@node3 data]# touch abc{1..6}
[root@node3 data]# chown -R rsync:rsync /data

5.测试推送

[root@node3 data]# rsync -avz /data rs_backup@node4::backup --password-file=/etc/rsync.password
sending incremental file list
data/
data/abc1
data/abc2
data/abc3
data/abc4
data/abc5
data/abc6

sent 378 bytes received 142 bytes 49.52 bytes/sec
total size is 0 speedup is 0.00

6.安装配置sersync

软件下载地址
https://code.google.com/archive/p/sersync/downloads
[root@node3 src]# ls 
sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@node3 src]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@node3 src]# mkdir /usr/local/sersync
[root@node3 src]# cp GNU-Linux-x86/* /usr/local/sersync
[root@node3 sersync]# cd /usr/local/sersync
[root@node3 sersync]# vim confxml.xml

7.创建检测脚本

[root@node3 home]# cat check.sh
#!/bin/sh
sersync="/usr/local/sersync/sersync2"
confxml="/usr/local/sersync/confxml.xml"
status=$(ps -ef |grep /usr/local/sersync/confxml.xml |grep -v grep |wc -l)
if [ $status -eq 0 ];
then
$sersync -d -r -o $confxml &
else
exit 0;
fi

[root@node3 home]# crontab -l 
*/5 * * * * /home/check.sh

8.验证同步是否正常

[root@node3 data]# cd /data/
[root@node3 data]# echo abc1 > abc1
[root@node3 data]# echo 333333333333 > abc6
[root@node3 data]# mkdir test
[root@node3 data]# rm -rf abc4
[root@node3 data]# ll 
total 8
-rw-r--r-- 1 rsync rsync 5 Jun 12 16:40 abc1
-rw-r--r-- 1 rsync rsync 0 Jun 11 17:34 abc2
-rw-r--r-- 1 rsync rsync 0 Jun 11 17:34 abc3
-rw-r--r-- 1 rsync rsync 0 Jun 11 17:34 abc5
-rw-r--r-- 1 rsync rsync 13 Jun 12 16:41 abc6
drwxr-xr-x 2 root root 6 Jun 12 16:42 test


在node4服务器查看数据是否同步正常
[root@node4 backup]# ll 
total 8
-rw------- 1 rsync rsync 5 Jun 12 16:40 abc1
-rw------- 1 rsync rsync 0 Jun 12 16:40 abc2
-rw------- 1 rsync rsync 0 Jun 12 16:40 abc3
-rw------- 1 rsync rsync 0 Jun 12 16:40 abc5
-rw-r--r-- 1 rsync rsync 13 Jun 12 16:41 abc6
drwx------ 2 rsync rsync 6 Jun 12 16:42 test  
posted @ 2020-09-15 12:53  风不动幡动  阅读(290)  评论(0)    收藏  举报