1. 程式人生 > >rsync服務搭建

rsync服務搭建

備份 文件的 密碼文件 lock -a 模塊 源文件 path eno

rsync服務主要用於不同主機間的文件同步和備份,當然也可以用在同一主機上。

一、實驗環境
 rsync server:CentOS7.3
 rsync client: CentOS7.6


二、rsync server端配置

#確認系統是否安裝rsync,CentOS7 默認是安裝了
[[email protected] ~]# rpm -aq|grep rsync
rsync-3.0.9-17.el7.x86_64 


#編輯rsync配置文件
#vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 2
strict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log

[hadoop]
path = /yao/
comment  = self define file
read only = yes
list = no
auth users = hadoop
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.60.3 #設置訪問客戶端的白名單
#hosts deny = * #設置客戶端訪問的黑名單

在正式rsync配置文件中最好不要有註釋,可能會使得配置報錯,或者客戶端認證不通過

#對上面的配置進行簡單的介紹
[hadoop]#模塊名,格式 [module-name]
path = /yao/#需要同步的目錄
comment  = self define file#註釋,可以隨便寫
read only = yes#客戶端只能從服務端讀取文件,不能上傳文件到sync服務端
list = no
auth users = hadoop#認證的用戶,不用系統中存在,可以隨便寫,到時候再secrets file的配置文件中寫就可以了
secrets file = /etc/rsyncd.secrets#client使用的配置用戶名密碼,格式:username:password
hosts allow = 192.168.60.3 #設置訪問客戶端的白名單
#hosts deny = * #設置客戶端訪問的黑名單

#vim /etc/rsyncd.secrets
hadoop:hadoop #服務器端的secrets文件必須要有用戶名和密碼

 同樣的在正式的配置中不要有"#服務器端***"的註釋



三、客戶端配置

客戶端編輯登錄rsync服務端需要使用的密碼,只填寫用戶名就可以了

#vim /etc/rsyncd.secrets
hadoop

上傳 rsync -avz --password-file=/etc/rsyncd.secrets /opt/hadoop/etc/hadoo [email protected]::hadoop 
下載 rsync -avz --progress --delete --password-file=/etc/rsyncd.secrets [email protected]::hadoop /opt/hadoop/etc/hadoop

上傳(前提是服務器端的配置文件運行寫的權限)  rsync -avz --password-file=[客戶端登錄時候使用的賬號密碼] [需要上傳的文件路徑] [auth_user]@IP::[模塊名]
下載 rsync -avz --progress --delete --password-file=[密碼文件路徑] [auth_user]@IP::[模塊名]

  由於在服務端配置了read only = yes 所以本次實驗是無法上傳文件的

  -a 相當於 -rlptgoD 的集合
  -u 等同於 –update,在目標文件比源文件新的情況下不更新
  -v 顯示同步的文件
  --progress 顯示文件同步時的百分比進度、傳輸速率

  --delete 如果源目標系統中不存在 , 同步系統中的文件將被刪除

  !!重要!!密碼配置的相關文件的全系記得修改為600,否則會報錯。
  # chmod 600 /etc/rsyncd.secrets

  可以使用man rsync看看相關參數說明,這裏就不在贅述了

rsync服務搭建