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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

[[email protected] ~]# iptables -F

[[email protected] ~]# 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

[[email protected] ~]# 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地址,这里设置了不禁止


5、创建rsync同步密码文件,并设置权限为600

[[email protected] ~]# echo "test:test123" >  /etc/rsyncd.secret

[[email protected] ~]# chmod 600  /etc/rsyncd.secret

[[email protected] ~]# ll /etc/rsync.password

-rw------- 1 root root 14 4月  18 09:25 /etc/rsync.password

[[email protected] ~]# cat  /etc/rsyncd.secret

test:test123


6. 启动rsync守护进程,并写入开机自启动

[[email protected] ~]# rsync --daemon

[[email protected] ~]#  ps -ef | grep rsync

root      1662     1  0 09:34 ?        00:00:00 rsync --daemon

root      6310  6068  0 17:02 pts/0    00:00:00 grep --color=auto rsync

[[email protected] ~]# netstat -nulpt| grep rsync

tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      1662/rsync          

tcp6       0      0 :::873                  :::*                    LISTEN      1662/rsync         

设置开机自启动,写入到/etc/rc.local里面

vim /etc/rc.local

# rsync server progress

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


7. 创建相关待同步的目录/home/ces/

[[email protected] ~]# mkdir -p /home/ces

[[email protected] ~]# tree /home


二、在源服务器安装Rsync服务端+配置sersync

1、按照上面步骤配置按照Rsync服务端,需要注意的是创建rsync同步密码文件,内容只需要填写密码:test123

[[email protected] ~]# echo "test123" >  /etc/rsyncd.secret

[[email protected] ~]# chmod 600  /etc/rsyncd.secret

[[email protected] ~]# ll /etc/rsync.password

-rw------- 1 root root 14 4月  18 09:25 /etc/rsync.password

[[email protected] ~]# cat  /etc/rsyncd.secret

test123


2、测试rsync同步情况















本文出自 “10887782” 博客,请务必保留此出处http://10897782.blog.51cto.com/10887782/1917065

以上是关于Centos7.0系统下Rsync+sersync实现数据实时增量同步备份的主要内容,如果未能解决你的问题,请参考以下文章

centos系统rsync+sersync实现数据实时同步

Linux下Rsync+sersync实现数据实时同步

rsync+sersync实现数据时时备份

服务 - Sersync数据同步详细教程

rsync+nfs+sersync实战案例

rsync+sersync实现数据实时同步