rsync服務主要用於不一樣主機間的文件同步和備份,固然也能夠用在同一主機上。node
1、實驗環境
rsync server:CentOS7.3
rsync client: CentOS7.6vim
2、rsync server端配置服務器
#確認系統是否安裝rsync,CentOS7 默認是安裝了 [root@localhost ~]# 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配置文件中最好不要有註釋,可能會使得配置報錯,或者客戶端認證不經過
ide
#對上面的配置進行簡單的介紹 [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文件必需要有用戶名和密碼
一樣的在正式的配置中不要有"#服務器端***"的註釋oop
3、客戶端配置
客戶端編輯登陸rsync服務端須要使用的密碼,只填寫用戶名就能夠了ui
#vim /etc/rsyncd.secrets hadoop
上傳 rsync -avz --password-file=/etc/rsyncd.secrets /opt/hadoop/etc/hadoo hadoop@namenode::hadoop 下載 rsync -avz --progress --delete --password-file=/etc/rsyncd.secrets hadoop@namenode::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 顯示文件同步時的百分比進度、傳輸速率code
--delete 若是源目標系統中不存在 , 同步系統中的文件將被刪除
!!重要!!密碼配置的相關文件的全系記得修改成600,不然會報錯。
# chmod 600 /etc/rsyncd.secretsserver
可使用man rsync看看相關參數說明,這裏就不在贅述了hadoop