一、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的优缺点
优点:
- 增量备份,支持socket(deamon),集中备份(支持推拉,都是以客户端为参照)
- 远程shell通道模式,还可以加密SSH传输。如果socket(daemon)需要加密传输,可以利用vpn服务或者ipsec服务
缺点:
- 大量小文件同步时,比对时间较长,有时候rsync进程可能停止
- 同步大文件(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 = 100
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
timeout = 900
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/24
# hosts deny = 0.0.0.0/32
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:123456
chmod 600 /etc/rsync.password 修改密码文件的权限
2.5、客户端的配置
客户端的配置
touch /etc/rsync.password
vim /etc/rsync.password
chmod 600 /etc/rsync.password
2.6、服务端以守护进程的方式启动
rsync --daemon
ps -ef | grep rsync 查看服务启动的状态
kill -9 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