rsync 配置


服务端:


1、我使用系统的版本

[root@oldboy ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

[root@oldboy ~]# uname -r

2.6.32-642.el6.i686


2、which一下,查看是否有安装此服务(我是最小化安装系统,所以没有)

[root@oldboy ~]# which rsync

/usr/bin/which: no rsync in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)


3、安装此服务,我这里通过yum安装

[root@oldboy ~]# yum install rsync -y


4、再which一下,现在有了

[root@oldboy ~]# which rsync      

/usr/bin/rsync


5、创建一个/etc/rsyncd.conf ,这个文件在安装服务后也是不存在的,要手动创建,并且复制以下内容(这里我就不对内容做解释)

[root@oldboy ~]# vim /etc/rsyncd.conf

uid = rsync    

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[backup]

path = /backup

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

#hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password


6、创建rsync用户,用户默认也是不存在的,所以要创建(也可以用其他用户,但是一般用rsync)

[root@oldboy ~]# useradd rsync -s /sbin/nologin -M     (参数解释:不允许登录,不创建家目录)


7、检查用户是否创建创建成功

[root@oldboy ~]# cat /etc/passwd |grep "rsync"    

rsync:x:501:501::/home/rsync:/sbin/nologin


8、创建/etc/rsync.password认证密码文件,并且降低权限(这里千万别把属主root改为rsync)

[root@oldboy ~]# touch /etc/rsync.password

[root@oldboy ~]# vim /etc/rsync.password

rsync_backup:oldboy

[root@backuptest ~]# ll -d /etc/rsync.password          

-rw------- 1 root root 20 9月  15 00:36 /etc/rsync.password


9、启动rsync服务,并且加入到开机自启动

[root@oldboy ~]# rsync --daemon

[root@oldboy ~]# ps -ef |grep "rsync"

root      1647     1  0 00:23 ?        00:00:00 rsync --daemon

root      1649  1268  0 00:23 pts/0    00:00:00 grep rsync

[root@oldboy ~]#

[root@oldboy ~]# echo "rsync --daemon" >>/etc/rc.local


客户端上:


10、安装rsync

yum install rsync -y


11、配置密码文件

echo "oldboy" > /etc/password


12、创建一个目录给rsync同步使用

[root@oldboy]mkdir /backupkhd/


13、同步文件命令

[root@oldboy]# rsync -avz /backupkhd/ rsync_backup@172.16.1.42::backup/ --password-file=/etc/rsync.password


一下为扩展


a,b两个文件不同步

[root@nfs backup]# rsync -avz --exclude={a,b} /backupkhd/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password


排除某一个文件(这里的文件名为file)

[root@nfs backup]# rsync -avz --exclude=file /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password


无差异化同步,就是会把服务端的目录下的数据变成跟客户端的一样(这个很危险,会删除服务端的数据)

[root@nfs backup]# rsync -avz --delete /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password


限速(在企业遇到白天同步可以加这个参数,不至于占用过多带宽影响网速)

[root@nfs backup]# rsync -avz --bwlimit=10 /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password