天天看點

Linux rsynv遠端資料同步

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}"           

繼續閱讀