rsync服務搭建
阿新 • • 發佈:2019-05-03
備份 文件的 密碼文件 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服務搭建