簡介
rsync 指令 是 Linux 中用於同步與傳輸檔案及目錄的最強大、最通用的工具之一。無論是備份資料、鏡像檔案,還是在系統之間(本機或遠端)傳輸資料,rsync 都是高效檔案管理不可或缺的實用工具。
本指南介紹 rsync 的基礎知識、語法、常見使用案例,以及充分發揮其功能的技巧。
什麼是 rsync?
Rsync(Remote Sync)是 Linux 中的一個命令列實用工具,專為以下用途而設計:
- 高效的檔案傳輸:它使用增量編碼,只傳輸檔案中發生變化的部分。
- 備份與同步:非常適合維護備份和鏡像目錄。
- 本機與遠端傳輸:透過 SSH 無縫運作,實現安全的遠端操作。
如何使用 rsync
基本語法
rsync 的通用語法如下:
rsync [options] source destination
範例使用案例
1. 將本機目錄複製到遠端伺服器
rsync -av /local/dir/ user@remote:/remote/dir/
使用的選項:
-a:歸檔模式(保留符號連結、權限、時間戳記等)。-v:詳細輸出,在傳輸過程中提供詳細資訊。
2. 將檔案從遠端伺服器同步到本機
rsync -azP user@remote:/remote/dir/ /local/dir/
使用的選項:
-z:在傳輸過程中壓縮檔案資料,以加快速度。-P:在傳輸過程中顯示進度,並允許恢復中斷的傳輸。
3. 備份檔案,同時排除某些檔案類型
rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/
--exclude 選項會跳過與指定模式相符的檔案(例如, .tmp 檔案)。
4. 刪除目的地中來源已不存在的檔案
rsync -av --delete /source/dir/ /destination/dir/
警告:使用 --delete 時,請務必仔細檢查路徑,以免意外遺失資料。
使用 rsync 的好處
1. 高效傳輸
rsync 只傳輸檔案中發生變化的部分,從而節省頻寬和時間。
2. 通用性強
無縫處理本機和遠端傳輸,非常適合備份、移轉和同步。
3. 可靠性
支援可恢復的檔案傳輸,確保中斷的操作可以恢復,而無需從頭開始。
4. 安全性
與 SSH 整合,實現透過遠端連線的安全資料傳輸。
5. 可自訂
提供豐富的選項,用於排除檔案、設定頻寬限制等。
6. 跨平台相容性
可在 Linux、Unix 乃至 Windows 上執行(透過 Cygwin 或 WSL 等工具)。
額外提示:使用試運行模式!
在執行可能具有破壞性的 rsync 指令(例如,帶 --delete)之前,請使用 --dry-run 旗標來模擬該操作:
rsync -av --delete --dry-run /source/dir/ /destination/dir/
這樣可以確保您在套用變更之前檢視變更,從而防止意外遺失資料。
參考資料
如需了解更多詳情,請參閱官方文件: