CentOS7.0下Rsync+sersync实现数据实时增量同步备份

前言:
一、为什么要用Rsync+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;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。

环境说明:
操作系统:CentOS 7.0
源服务器:192.168.1.51
目标服务器:192.168.1.52

目的:
把源服务器上/home/ces目录实时同步到目标服务器的/home/ces下

具体操作:

一、目标服务器安装Rsync服务端
1、关闭SELINUX
vi /etc/selinux/config 

SELINUX=disabled
 
setenforce 0 #立即生效

2. 关闭防火墙IPTABLES

[root@master2 ~]# iptables -F
[root@master2 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target    prot opt source              destination       

Chain FORWARD (policy ACCEPT)
target    prot opt source              destination       

Chain OUTPUT (policy ACCEPT)
target    prot opt source              destination

3、检查是否安装rsync

[root@master2 ~]# rpm -qa|grep rsync
rsync-3.0.9-15.el7.x86_64

4、配置rsync的配置文件

vim /etc/rsyncd.conf

#Rsync configuration:
uid = root                            #设置rsync运行权限为root
gid = root                            #设置rsync运行权限为root
use chroot = no                        # 安全相关,默认为true,修改为no,增加对目录文件软连接的备份
port = 873                            # 指定rsync服务的默认端口号
max connections = 2000                # 并发连接数
timeout = 200                          # 超时时间(秒)
log file = /var/run/rsyncd.log        # 指定日志文件位置,启动rsync后自动产生这个文件,无需提前创建
pid file = /var/run/rsyncd.pid        # 指定rsync的pid目录
lock file = /var/run/rsyncd.lock      # 指定rsync的锁文件【重要】,支持max connections参数的锁文件
log format = %t %a %m %f %b
#################################################
#[rsync]                                # 模块
path = /home/ces/                    #rsync服务端数据目录路径
commemt = rsync
list = yes
read only = no                        # no客户端可上传文件,yes只读
write only = no                      # no客户端可下载文件,yes不能下载
auth users = test                      #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
secrets file = /etc/rsyncd.secret      #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件
ignore errors = yes
hosts allow = 192.168.1.0/255        #允许进行数据同步的客户端IP地址段,可以设置多个,用英文状态下逗>号隔开
hosts deny = 0.0.0.0/32            #禁止数据同步的客户端IP地址,这里设置了不禁止
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/80dd94296acf2cc1311abd1b80648e77.html