詳解 rsync server

在常駐模式(daemon mode)下,rsync server 預設監聽TCP埠873

Rsync在備份時,主要是傳送資料差異的部份,因此大多都被使用在差異備份上。除了資料第一次傳輸是整份檔案外,之後都只會傳送資料間異動的部份。

設定上,有兩個重要檔案:

/etc/rsyncd.conf #為rsync設定檔 
/etc/rsyncd.secrets #為rsync 密碼檔

伺服器端設定

nano /etc/rsyncd.conf
#模組名稱 
 [Rsync]                                   
           #說明
           comment = backup test
           #允許使用rsync連入的ip
           hosts allow = 172.16.10.9  
           #不允許連入的ip,*表示全檔
           hosts deny = *                
           #存放備份資料的目錄
           path = /srv/dev-disk-by-label-data/Rsync       
           #認證帳號 (要設定於rsyncd.secrets 內的帳號)
           auth users = root   
           #用來啟動rsync server 的uid
           uid = root                    
           #用來啟動rsync server 的gid 
           gid = root                    
           #密碼檔存放路徑
           secrets file = /etc/rsyncd.secrets      
           #是否設定為唯讀
           read only = no        
           #不要對這些附檔名的檔案做壓縮
           dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
                                          
nano /etc/rsyncd.secrets
#設定格式=> 帳號:密碼
root:password  
#必須修改rsyncd.secrets使用權限 (很重要)
chmod 600 /etc/rsyncd.secrets
chown root.root  /etc/rsyncd.secrets

service rsync restart

測試看看是否都正常 (rsync的port為873)

netstat -tnlp | grep 873
tcp    0    0 0.0.0.0:873        0.0.0.0:*         LISTEN      4235/xinetd

telnet localhost 873  
#若出現下列訊息表示正常
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
@RSYNCD: 29

Client端設定

在Client主機上只需要設定密碼就可以。

nano /etc/rsyncd.secrets
#設定格式:  密碼
password
#修改rsyncd.secrets使用權限 (很重要)
chmod 600 /etc/rsyncd.secrets
chown root.root  /etc/rsyncd.secrets

測試Client端rsync是否可傳輸資料

rsync -avrHS --delete --password-file=/etc/rsyncd.secrets  /opt/* root@172.16.10.12::Rsync 

Last updated