Rsync 在 Linux 中排除檔案和目錄
Nilesh Katuwal
2023年1月30日
rsync
是一個強大的命令列工具,用於使用遠端 shell 在兩個站點之間同步檔案和目錄。
使用 rsync
命令,你可以在系統之間複製資料和檔案並進行額外備份。
此外,你可以根據名稱和位置從資料副本中排除一個或多個檔案或資料夾。
在 Linux 中排除具有指定副檔名的所有檔案
也可以排除具有指定副檔名的檔案。執行以下命令以排除
所有帶有 .txt
副檔名的檔案,例如:
$ rsync -avz --exclude=*.txt source/ destination
輸出:
sending incremental file list
thanosdir2/thanosdir3/
sent 203 bytes received 20 bytes 446.00 bytes/sec
total size is 0 speedup is 0.00
在 Linux 中使用 -exclude
選項排除特定目錄
也可以禁止從指定目錄執行同步或複製操作。目錄名稱是使用 -exclude
選項指定的。
在下面的示例中,我們將從列表中排除目錄 thanosdir
。
$ rsync -avrz --exclude=thanosdir3 source/ destination
輸出:
sending incremental file list
created directory destination
./
thanos.txt
thanos1.txt
thanos2.txt
thanosdir/
thanosdir/thanosdir1/
thanosdir2/
thanosdir4/
sent 391 bytes received 130 bytes 1,042.00 bytes/sec
total size is 0 speedup is 0.00
在 Linux 中排除多個目錄
你還可以過濾掉任何符合特定模式的目錄。例如,應排除 source 下以字母 t
開頭的任何目錄:
$ rsync -avrz --exclude=t* source/ destination
輸出:
sending incremental file list
sent 56 bytes received 12 bytes 136.00 bytes/sec
total size is 0 speedup is 0.00
如輸出所示,所有帶有字母 t
的目錄都被排除在外。