文章目錄
- rsync 詳細介紹
- rsync 基本特性
- rsync 常用選項
- rsync 各種是使用示例
rsync 詳細介紹
rsync
是一個在 Linux 和 Unix 系統上廣泛使用的文件同步和傳輸工具。它被設計用于快速高效地同步文件和目錄之間的變化,不論是本地還是通過網絡。rsync
命令有許多選項,可以根據需要進行定制。
rsync 基本特性
- 增量備份:
rsync
只傳輸改變的部分,而不是整個文件,這樣更快速并節省帶寬。 - 歸檔模式:可以復制文件的權限、時間戳、軟硬鏈接、用戶和組信息等。
- 壓縮傳輸:壓縮數據以減少網絡傳輸的數據量。
- 刪除功能:可以刪除目標中源端已經刪除的文件。
- 支持遠程傳輸:可以通過 SSH 或 rsync 守護進程在遠程服務器之間同步文件。
rsync 常用選項
-a
(--archive
): 歸檔模式,等同于-rlptgoD
(遞歸、鏈接、權限、時間戳、組、所有者、設備)。-v
(--verbose
): 輸出詳細信息。-h
(--human-readable
): 以易讀的格式輸出文件大小等信息。-z
(--compress
): 在傳輸時壓縮文件數據。-P
: 等同于--partial --progress
,允許部分傳輸的文件,并在傳輸時顯示進度。--dry-run
: 模擬運行來查看哪些文件將被同步,但不實際執行同步。--delete
: 刪除目標目錄中不存在于源目錄的文件。-e
(--rsh=COMMAND
): 指定遠程Shell,通常用于指定 SSH。
rsync 各種是使用示例
- 本地復制文件
rsync -avh /path/to/source/ /path/to/destination/
- 通過 SSH 復制文件到遠程服務器
rsync -avhe ssh /path/to/source/ user@remote_host:/path/to/destination/
- 從遠程服務器復制文件到本地
rsync -avhe ssh user@remote_host:/path/to/source/ /path/to/destination/
- 增量備份
rsync -avh --progress --delete /path/to/source/ /path/to/backup/
在這個例子中,--delete
會使得備份目錄中的任何不再存在于源目錄中的文件被刪除,模擬鏡像的效果。
- 模擬同步過程
rsync -avh --dry-run /path/to/source/ /path/to/destination/
- 同步時忽略一些文件或目錄
rsync -avh --exclude 'pattern_to_exclude' /path/to/source/ /path/to/destination/
你可以多次使用 --exclude
選項來排除多個模式,或者使用 --exclude-from
指定一個包含排除規則的文件。
- 在同步時保留刪除的文件
rsync -avh --backup --backup-dir=/path/to/backup-dir /path/to/source/ /path/to/destination/
在這個例子中,被刪除或者被覆蓋的文件會被復制到指定的備份目錄。
rsync
是一個非常強大的工具,有許多選項和變體。為了使用它最合適的方式,了解詳細的文檔和實際的使用場景是很有幫助的。可以通過輸入 man rsync
來訪問它的手冊頁以獲取更多信息。