天天看點

rsync 資料同步

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/ [email protected]::backup/ --password-file=/etc/rsync.password

一下為擴充

a,b兩個檔案不同步

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

排除某一個檔案(這裡的檔案名為file)

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

無差異化同步,就是會把服務端的目錄下的資料變成跟用戶端的一樣(這個很危險,會删除服務端的資料)

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

限速(在企業遇到白天同步可以加這個參數,不至于占用過多帶寬影響網速)

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

繼續閱讀