rsync命令詳解
rsync命令是Linux和其他Unix-like系統上一個非常強大的命令行工具,主要用于數據同步和文件傳輸。它的名字是"remote sync"的縮寫,但不僅限于遠程同步,也支持本地文件和目錄之間的同步。rsync的主要優勢在于其高效的增量傳輸方式,即只傳輸源和目標之間發生變化的文件塊,而不是整個文件。以下是rsync命令的詳細解釋:
一、基本功能
- 數據同步:在本地或遠程主機之間同步文件和目錄。
- 增量傳輸:只傳輸變化的文件塊,減少數據傳輸量。
- 多種選項:提供豐富的選項來滿足不同的同步需求。
二、常用選項
| 選項 | 說明 |
|---|---|
| -a, --archive | 歸檔模式,遞歸并保留對象屬性,等同于-rlptgoD。 |
| -v, --verbose | 顯示同步過程的詳細(verbose)信息。 |
| -r, --recursive | 遞歸模式,包含目錄及子目錄中所有文件。 |
| -l, --links | 對于軟鏈接文件仍然復制為軟鏈接文件。 |
| -p, --perms | 保留文件的權限標記。 |
| -t, --times | 保留文件的時間標記。 |
| -g, --group | 保留文件的屬組標記(僅超級用戶使用)。 |
| -o, --owner | 保留文件的屬主標記(僅超級用戶使用)。 |
| -D | 保留設備文件及其他特殊文件。 |
| -z, --compress | 在傳輸文件時進行壓縮。 |
| -H, --hard-links | 保留硬鏈接。 |
| -A, --acls | 保留ACL屬性(隱含--perms)。 |
| --delete | 刪除目標位置有而原始位置沒有的文件。 |
| --exclude='pattern' | 排除與指定模式匹配的文件或文件夾。 |
| --exclude-from='file' | 從指定文件中讀取排除模式,并進行同步。 |
| --include='pattern' | 只包括與指定模式匹配的文件或文件夾。 |
| --include-from='file' | 從指定文件中讀取包含模式,并進行同步。 |
| --progress | 顯示同步進度和速度信息。 |
| --dry-run | 模擬同步操作,顯示將要發生的更改,但不實際執行。 |
| --bwlimit=KBPS | 限制帶寬使用率,以KB/s為單位。 |
三、使用方法
rsync的使用方法非常靈活,可以通過多種方式進行文件同步,包括通過遠程shell或rsync守護進程。基本的使用格式如下:
- 本地同步:
rsync [OPTION]... SRC... [DEST] - 通過遠程shell同步(拉取):
rsync [OPTION]... [USER@]HOST:SRC... [DEST] - 通過遠程shell同步(推送):
rsync [OPTION]... SRC... [USER@]HOST:DEST - 通過rsync守護進程同步(拉取):
rsync [OPTION]... [USER@]HOST::SRC... [DEST] - 通過rsync守護進程同步(推送):
rsync [OPTION]... SRC... [USER@]HOST::DEST
四、應用實例
-
將本地目錄復制到遠程主機:
bash復制代碼rsync -avz /local/dir/ user@remote:/remote/dir/ -
從遠程主機復制目錄到本地:
bash復制代碼rsync -avz user@remote:/remote/dir/ /local/dir/ -
使用SSH協議進行遠程復制(等同于上述示例,因為rsync默認使用SSH):
bash復制代碼rsync -avz -e ssh /local/dir/ user@remote:/remote/dir/ -
僅列出遠程主機上的文件而不復制:
bash復制代碼rsync -avzn user@remote:/remote/dir/ /local/dir/ -
使用rsync進行增量備份:
bash復制代碼rsync -avz --backup --backup-dir=/backup/dir/ /source/dir/ /destination/dir/ -
限制傳輸帶寬:
bash復制代碼rsync -avz --bwlimit=500 /source/dir/ /destination/dir/
測試: 同步本地test目錄到遠程服務器192.168.1.200 的test目錄
rsync -avhpW --no-compress -P4 --progress /test/ root@192.168.1.200:/test/
時間是個偉大的作者,必將給出完美的答案。

浙公網安備 33010602011771號