rsync
rsync是linux系統下的遠端資料同步工具。使用快速增量備份工具Remote Sync可以遠端同步,支援本地複制,或者與其他SSH、rsync主機同步。rsync使用“rsync算法”來使本地和遠端兩個主機之間的檔案達到同步,這個算法隻傳送兩個檔案的不同部分,而不是每次都整份傳送,是以針對非第一次同步傳輸速度快。
rsync特性
1、可以鏡像儲存整個目錄和檔案系統
2、容易做到保持原來檔案的權限、Owner、Group、修改時間、軟硬連結、檔案acl、檔案屬性資訊等等
3、檔案傳輸效率高,使用同步算法,隻比較變化的
4、支援匿名傳輸,友善網站鏡像;也可以做驗證,加強安全
5、可以使用rsh ssh 方式來傳輸檔案,也可直接通過socket方式
6、無特殊權限就可以安裝,linux作業系統預設安裝
注意
若使用普通身份執行rsync,同步後的檔案的屬主将改變為這個普通使用者身份
使用超級使用者身份運作rsync指令,同步後的檔案的屬主将保持原來的使用者身份
rsync格式
安裝
yum install rsync
centos7下啟動/檢視/開機啟動
systemctl start rsynvd.service
systemctl status rsynvd.service
systemctl enable rsynvd.service
本機
rsync [option] … src dest
本地shell備份
備份到本機
rsync [option] … [user@]host:src dest
rsync [email protected]:/data/warehouse /data/warehouse
備份到遠端機器
rsync [option] … src [user@]host:dest
rsync /data/warehouse [email protected]:/data/warehouse
通路rsync伺服器備份:
備份到本機
rsync [option] … [user@]host::src dest
備份到遠端機器
rsync [option] … src [user@]host::dest
備份到本機
rsync [option] … rsync://[user@]host[:port]/src dest
備份到遠端機器
rsync [option] … src rsync://[user@]host[:port]/dest
rsync常用選項
-a 歸檔模式,表示以遞歸方式傳輸檔案,并保持所有檔案屬性
-b 當有變化時,對目标目錄中的舊版檔案進行備份
-e 指定替代 rsh 的 shell 程式
-r 對子目錄以遞歸模式處理,類似cp時的-r選項
-v 同步時詳細輸出模式,可以知道同步的過程
-q 精簡輸出模式
-l 保留軟鍊結
-L 加上該選項後,同步軟連結時會把源檔案給同步
-H 保持硬連結檔案
-p 保持檔案權限
-o 保持檔案屬主資訊
-g 保持檔案屬組資訊
-D 保持裝置檔案和特殊檔案資訊
-t 保持檔案的時間屬性
-u 加上該選項後,如果DEST中的檔案比SRC新,則不同步
-z 在傳輸檔案時進行壓縮處理
--delete 删除DEST中SRC沒有的檔案
--exclude 過濾指定檔案,如--exclude “logs”會把檔案名包含logs的檔案或者目錄過濾掉,不同步
-e參數說明
rsync -a -e ssh --delete --exclude=.svn --exclude='logs/*' --exclude='contrib/hod/logs/*' "$SPARK_MASTER/" "${SPARK_HOME}"