rsync的基本操作
rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地複製,與其他SSH、rsync主機同步數據。
一、rsync命令的用法:
基本格式:rsync [選項] 原始位置 目標位置
常用選項:
-a 歸檔模式,遞歸併保留對象屬性,等同於 -rlptgoD
-v 顯示同步過程的詳細(verbose)信息
-z 在傳輸文件時進行壓縮(compress)
-H 保留硬鏈接文件
-A 保留ACL屬性
--delete 刪除目標位置有而原始位置沒有的文件
-r 遞歸模式,包含目錄及子目錄中所有文件
-l 對於軟鏈接文件仍然複製為軟鏈接文件
-p 保留文件的許可權標記
-t 保留文件的時間標記
-g 保留文件的屬組標記(僅超級用戶使用)
-o 保留文件的屬主標記(僅超級用戶使用)
-D 保留設備文件及其他特殊文件
二、配置rsync
在配置rsync前,先來做個小測試:
服務端
客戶端
剛剛的小測試其實是基於SSH實現的,rsync有兩種同步源,一種是基於SSH的同步源,另一種是基於rsync的同步源。
三、基於SSH的同步源
設置ACL許可權:setfacl -m user:用戶名:rwx /伺服器目錄
下行同步:rsync -avz 用戶名@伺服器地址:/伺服器目錄 /本地目錄
上行同步:rsync -avz /本地目錄 用戶名@伺服器地址:/伺服器目錄
為確保服務端的數據能同步到客戶端,接下來,我先從SSH的同步源開始配置:
在配置前,分別在服務端和客戶端上執行yum install -y rsync,確保rsync已安裝。
1.在服務端授權一個用戶,也就是創建一個用戶:
2.在客戶端創建ssh目錄,同步服務端數據:
3.剛剛的同步是下行同步,即從伺服器端把數據同步到客戶端。接下來我將演示一遍上行同步,即把客戶端的數據同步到服務端:
4.在服務端設置比較安全的ACL許可權:
5.再次在客戶端執行上行同步操作:
四、基於rsync的同步源
/etc/rsyncd_users.db文件許可權必須是600
做上行同步時,nobody需要有寫入許可權
rsync -avz 用戶名@伺服器地址::共享模塊名 /本地目錄
rsync -avz rsync://用戶名@伺服器地址/共享模塊名 /本地目錄
使用SSH的同步源需要創建用戶,對於伺服器來說,存在過多的用戶不是一件好事。而用基於rsync的同步源則不需要創建用戶,指定的用戶只需寫在配置文件里即可,這樣的用戶是虛擬用戶。
1.修改配置文件:
服務端
2.執行同步操作:
客戶端
下行同步已完成,接下來我將演示上行同步:
服務端
客戶端
3.上行同步的另一種格式:
客戶端
服務端
五、配置免密碼驗證1、基於SSH的同步源
通過秘鑰對實現
客戶端
2、基於rsync的同步源
通過系統變數實現
RSYNC_PASSWORD
客戶端


※滾動開發–Clear Linux給用戶帶來驚喜
※雲環境所面臨的安全威脅
TAG:Linux資訊速推 |