centos7 rsync+inotify软件实现集群服务的数据备份(一)

一、rsync软件的说明:

1.1 什么是rsync

rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。所以通常可以作为备份工具来使用。

运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据;也可以多个Rsync server备份一个client的数据。Rsync可以搭配ssh甚至使用daemon模式。Rsync server会打开一个873的服务通道(port),等待对方rsync连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。

命令语法:
rsync的命令格式可以为以下六种:
 rsync [OPTION]… SRC DEST
 rsync [OPTION]… SRC [USER@]HOST:DEST
 rsync [OPTION]… [USER@]HOST:SRC DEST
 rsync [OPTION]… [USER@]HOST::SRC DEST
 rsync [OPTION]… SRC [USER@]HOST::DEST
 rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]

这些命令语法可以通过  man  rsync 查看

1.2 rsync的优缺点

优点:

  1. 增量备份,支持socket(deamon),集中备份(支持推拉,都是以客户端为参照)
  2. 远程shell通道模式,还可以加密SSH传输。如果socket(daemon)需要加密传输,可以利用vpn服务或者ipsec服务

缺点:

  1. 大量小文件同步时,比对时间较长,有时候rsync进程可能停止
  2. 同步大文件(10G),有时也会出现问题终端。未完成同步前,是隐藏文件,可以通过续传等参数实现传输

二、安装和配置过程

2.1、服务器时间同步,确保集群服务运行正常。

 yum -y install ntp ntpdate
systemctl start ntpd
ntpdate time.windows.com

2.2、安装rsync

rpm -qa rsync 查看一下安装的软件
yum -y install rsync

2.3、修改配置文件

vim /etc/rsyncd.conf   编辑配置文件
uid = rsync
gid = rsync
use chroot = no
max connections =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
timeout =
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
fake super = yes [backup]
path = /backup
read only = false
list = false
auth users = rsync_back
secrets file = /etc/rsync.password
hosts allow = 192.168.8.0/
# hosts deny = 0.0.0.0/
ignore errors

2.4、创建用户和相应的备份目录和需要认证的密码文件

useradd -M -s /sbin/nologin rsync  创建系统运行用户
mkdir /backup 创建备份的目录
chown -R rsync:rsync /backup/ 对备份的目录赋值
touch /etc/rsync.password 创建密码文件
vim /etc/rsync.password 编辑密码文件
rsync_back:
chmod /etc/rsync.password 修改密码文件的权限

2.5、客户端的配置

客户端的配置
touch /etc/rsync.password
vim /etc/rsync.password
chmod /etc/rsync.password

2.6、服务端以守护进程的方式启动

rsync --daemon
ps -ef | grep rsync 查看服务启动的状态
kill - 10562 删除服务

三、错误记录

[root@bogon ~]# rsync -avz /root/zhou/*  rsync_back@192.168.8.5::backup --password-file=/etc/rsync.password   
rsync: failed to connect to 192.168.8.5 (192.168.8.5): Connection refused (111)

原因服务端的配置文件中只允许192.168.0.0网段的访问。

[root@bogon ~]# failed to create pid file /var/run/rsyncd.pid: File exists
需要删除rsyncd.pid

上一篇:rsync用于数据迁移/备份的几个细节


下一篇:Linux基础学习-数据备份工具Rsync