Rsync

如何從 rsync 中排除子目錄?

  • November 3, 2020

我正在使用rsync遞歸同步一個看起來像這樣的遠端文件夾樹:

/folderA/a1/cache
/folderA/a1/cache/A1
/folderA/a1/cache/A2
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder/cache
/folderB/cache/
/folderB/b1/somefolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache/B1
/folderB/b1/somefolder/yetanotherfolder/cache/B2

我不知道文件夾樹會是什麼樣子,它會隨著時間而改變。所以我想要做的是遞歸rsync上述但排除文件夾“記憶體”和它包含的任何子文件夾:

/folderA/a1
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder
/folderB/
/folderB/b1/somefolder
/folderB/b1/somefolder/yetanotherfolder/

有什麼建議?

你想要--exclude國旗。例如,本地 rsync:

rsync -a --exclude cache/ src_folder/ target_folder/

這真的很簡單——排除規則將匹配樹中任何位置名為“記憶體”的目錄。

有關更多資訊,請在 rsync 手冊頁上查找“–exclude”和“FILTER RULES”部分:

http://www.samba.org/ftp/rsync/rsync.html

引用自:https://unix.stackexchange.com/questions/5774