rsync是Linux(Unix Like)超好用工具之一,能同步、複製、備份兩端電腦檔案與目錄,而且可以做增量備份。
rsync是Linux(Unix Like)超好用工具之一,能同步、複製、備份兩端電腦檔案與目錄,而且可以做增量備份,不用擔心備份中斷,節省備份時間。傳輸可透過SSH進行加密傳輸,該工具的開發主要是用來取代SCP功能。(增量備份incremental backup:只備份從上次備份後,資料有異動的部份。)
指令:rsync -參數 [帳號@來源主機IP]:來源檔案 [帳號@目的主機IP]:目的檔案
主要參數:
-a:除了遞迴備份,並將子目錄及目錄下檔案,擁有者、群組、權限及時間紀錄等,所有設定一併保留。等同兩-archive(常用)
-v:將備份傳輸過程,顯示詳細資訊。等同兩-verbose(常用)
-z:先將資料壓縮後再傳送,可節省傳輸量。等同兩-compress(常用)
-h:把數字以必較合適的單位格式顯示,增加易讀性。(常用)
-r:備份整個資料夾下的目錄與檔案。但沒有保留設定,多數都採用-a
-e:遠端登入後指定要使用指令
--bwlimit=<限制頻寬>:限制頻寬使用,以KB為單位,例如數字100的話為每秒100KB
--progress:顯示傳輸進度、速度、剩餘時間
--remove-source-files:檔案同步完成後,自動刪除來源檔案
--whole-file:強制同步整個檔案
--min-size=數字K/M:限制備份檔案大小下限,K為kb,M為MB
--max-size=數字K/M:限制備份檔案大小上限,K為kb,M為MB
--delete:刪除來源端沒有的檔案
--exclude '*特定檔案名稱或字元*' :同步與備份時排除特定檔案
--include '*特定檔案名稱或字元*' :限定同步與備份特定檔案
安裝方式
ubuntu(Debian系列)
sudo apt-get install rsync
centos(RedHat系列)
sudo yum install rsync
範例1:將本地端的目錄1複製到遠端目錄2
rsync -avh /path/directory1 [email protected]:/path/directory2
補充說明:如果目錄2以先被建立,則複製的目錄1會存放在遠端目錄2底下,而非改名為目錄2
範例2:複製本地端檔案至遠端,透過壓縮並限速800 kb
rsync -avzh --bwlimit=800 /path/file [email protected]:/path/file
範例3:複製遠端檔案至本地端,並顯示進度
rsync -avzh --progress [email protected]:/path/file /path/file
範例4:複製本地端檔案至遠端AWS,並顯示進度
要訣:使用-e ,透過ssh將pem檔案載入。
rsync -avzh --progress -e 'ssh -i /dir/XXX.pem' /path/file ec2user@ec2ip:/path/file
參考資料
Rsync 基本設定教學
https://ithelp.ithome.com.tw/articles/10081360
Linux 使用 rsync 遠端檔案同步與備份工具教學與範例
RSYNC TO AWS EC2 USING .PEM KEY