精通 Linux rsync 指令:完整指南

簡介

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/

這樣可以確保您在套用變更之前檢視變更,從而防止意外遺失資料。


參考資料

如需了解更多詳情,請參閱官方文件:

發表留言