rsync的daemon模式


 

官方文檔:https://download.samba.org/pub/rsync/rsyncd.conf.html

 
1:daemon模式配置文件
 
      rsync以daemon方式運行的時候使用配置文件為rsyncd.conf
 
2:使用daemon模式的時候,一定要分清楚服務端和客戶端,與平時理解的服務端與客戶端不太一樣
     
     被同步的一端為服務端,要把文件同步到另一端的源端為客戶端

     

 

3:文件格式
     1) rsyncd.conf配置文件由模塊和參數組成,一個模塊以寫在方括號里的模塊名稱開始,直到下一個模塊,模塊里包含由“name = value”格式的參數。
     2)文件是基於行的,每一行代表一個模塊名或者參數
 
4:啟動方式
 
daemon模式運行必須啟動的時候加參數 --daemon
rsync --daemon

 

5:模塊配置

 
服務端(目標端,被同步的一端)的配置文件
# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:
uid = root
gid = root
use chroot = no
max connections = 2
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
lock file = /var/run/rsyncd.lock

[test]
path = /captain/shell
read only = no
auth users = rsync
secrets file = /etc/rsyncd.secrets
list = no

 

1)uid、gid:當使用非root賬號時,那么一定要確保服務的的文件夾是否有該非root賬號寫入的權限
 
2)use chroot = no :是否可以切換到root目錄,當chroot為yes的時候,客戶端連接模塊的時候,先chroot到模塊參數指定的目錄下,必須使用root權限,端口號必須是1024以內,且不能備份path路徑外的鏈接文件
 
3)max connections = 2 :表示同時最大的連接數,也就是同時只能有兩個客戶端對自己進行連接
 
 
 
並且此選項必須與lock file = /var/run/rsyncd.lock 共同使用,若不指定,默認為/var/run/rsyncd.lock
 
4)path = /captain/shell:表示的是當客戶端把數據同步過來將保存的路徑
 
5)read only = no :如果為只讀,那么將不能進行寫同步,所以必須關閉
 
 
 
6)auth users = rsync :用來進行同步的用戶,不需要系統用戶中有,虛擬的就行
 
7)secrets file = /etc/rsyncd.secrets :表示的是賬號密碼文件,此文件可隨意指定,文件里必須以username:password的格式 
rsync:123456
 
此文件權限必須為600,否則會報錯
 
 
  
8)list = no :表示的是當服務端拒絕客戶端的請求時,是否是直接顯示權限拒絕,還是現實模塊不存在,一般與hosts allow 和hosts deny一起使用
 
當一個被服務端拒絕的請求進來時,如果設置為 list = no,那么直接返回模塊不存在
 
 
 
如果不設置,那么是什么錯就返回什么錯
 
 
 
 
客戶端配置文件:
 
客戶端(源端,需將此台機器上的文件同步出去)的配置文件只需做簡單的修改,設置日志文件和pid文件路徑,然后啟動rsync即可
 
# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

#uid = root
#gid = root
#use chroot = yes
#max connections = 4
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]
#        path = /home/ftp
#        comment = ftp export area

 

 vim /etc/rsyncd.passwd 

123456

 

同步命令:

rsync -avz --password-file=/etc/rsyncd.passwd /data/shell/ rsync@192.168.1.103::test

 

-avz:表示同步過程中輸出信息顯示的格式
--password-file=/etc/rsyncd.passwd :表示客戶端將拿此密碼去服務端進行認證,所以這個文件里的秘密為上面服務的所設置的密碼,只需passwd
/data/shell/ :表示源目錄,將要把此目錄下的所有文件同步到遠端。 注:這里有無/的區別:有/的時候表示的是/data/shell/目錄下的東西同步過去而無/的時候表示的是把shell目錄同步過去

 

同步報錯:
 
   

表示遠端配置文件里所設置的路徑不存在,所有得先創建目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM