本篇文章更新時間:2020/03/18
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
這工具絕對是提到兩台主機間想要同步檔案或是備份檔案的首選,效能高又支援跨平台。
以下僅筆記在 Linux 類型作業系統下的使用。
在 Linux 類型(Ubuntu, Mac..等知名常聽過)的作業系統下,這工具是內建的。所以安裝這過程就不用多說了。真的沒有網路上也一堆,絕對不差我這篇!
基本使用技巧
rsync 參數 來源路徑 目標路徑
這邊的來源路徑其實可以改成本地端電腦的路徑,也就是同一台電腦內同步也可以。本文舉例遠端使用案例比較符合常見作業。
引用 Linode 的這篇 Backing Up Your Data 文件。
上圖可以看到,能「本機對本機」、「本機對遠端」、「遠端對本機」與「遠端對遠端」這四種情境去同步備份檔案資料。
常用參數
- -a:保留遠端路徑的檔案的擁有者、群組、權限以及時間戳記等資訊的封裝,也屬遞迴批次處理。
- -v:觀測執行輸出用,能輸出詳細操作的資訊。
- -h:把輸出數字用「比較容易閱讀」的格式輸出(至少mb顯示檔案大小)。
- -z:啟用壓縮。
--exclude 'xxx.log'
這組參數能夠重複使用。如果是路徑的話要輸入的是相對於「遠端路徑」的相對路徑。--exclude-from='紀錄檔案路徑'
如果要排除的路徑或檔案很多,建議改寫在一個檔案裡來用這參數引入。這邊是寫該紀錄檔案的路徑,檔案內一行一個設定。
(更多「排除檔案或目錄的寫法參考」)
其他參數
rsync
有很多用法,大部分除了上述常用參數外,其他不一定「常用」但「實用」的參數,紀錄如下:
--delete
讓本地端的同步檔案與遠端一致,如果遠端刪除檔案,本地端也會刪除。(預設不會刪除哦!)--dry-run
「乾跑模式」XD,就是模擬實測,但不會真的去執行,測參數玩法可以用這參數。--link-dest=本機的主備份存放目錄
這參數如果用在每天在備份/同步不同目錄時一定要開啟,意思是它可以比較這個指定的一個版本,只從遠端複製回有差異的部分,其他一樣的檔案就從這主備份目錄複製,節省每次傳輸流量。(每次的備份都可以改指向前一次的目錄)
參數補充說明
其他還有很多應用,像是如果比較希望跑在 ipv4
或 ipv6
的網路可以設定、希望檔案多大多小內不要執行可以設定、限制執行時頻寬不要佔用也可以設定。
可以參考 rsync -h
這指令來查看更多!玩法也很多,上網找一堆~
來源路徑
建議設定別名的連線方式,參考 Linux & Mac 下 SSH 快速連線設定 這篇。
這樣遠端路徑的時候可以減少很多時間,如下:
rsync -avhz MYVPS:/home/mxp ~/BACKUP
MYVPS
就是別名,備份、同步那台機器上的 /home/mxp
目錄到本機使用者目錄下的 BACKUP
資料夾。就算有改 SSH 連線的 Port 號,也是在別名設定檔案裡設定好了!
目標路徑
這塊其實不用多講,就是把遠端的檔案拉回到你本地端指定的路徑。
唯一要記得的事如果用在其他地方(如下週期性操作),輸入絕對路徑避免操作上發生問題。
rsync 應用
-
完全同步遠端主機檔案至本機
rsync -avhc --delete MYVPS:/home/mxp ~/Backup
-
每日四點備份遠端主機檔案至本機
crontab -e #加入下方指令 0 4 * * * rsync -ahvz --delete --link-dest=~/backups/public_origin MYVPS:~/public /path/to/backups/public_$(date -I) 1>> /root/rsync.log 2>> /root/rsync.err
-
排除某些目錄或檔案的同步處理
rsync -azhv --delete --exclude-from='/path/to/logfile.txt' MYVPS:/home/mxp ~/BACKUP
然後在
/path/to/logfile.txt
路徑上建立這檔案,每行一個設定,像是:*.txt
排除所有 txt 檔案,或是do/not/backup
這樣的相對路徑(等於是遠端主機的/home/mxp/do/not/backup
路徑)
後記
對物件儲存(Object Storage)的雲端空間, 使用 Rclone 就超方便,對主機間就屬 rsync 了! 兩大「R」開頭神器~
之前提到過 Rclone : [網站] 備份方式與發生問題需要緊急復原的流程 與 [WordPress] 使用 DigitalOcean Spaces Sync 實作 CDN 加速網站
能靈活運用這兩套對管理檔案一定很有幫助!
Dry Run 乾跑不好玩,我覺得改成「窮忙模式」比較讚。
Dry 這字真的是很妙。 用在酒上就是那酸澀、強烈感,實在很難形容。不知道 Dry Run 是有什麼典故。的確就是一種白忙一場、窮忙貌