我需要rsync從一臺機器到另一臺機器的一些目錄,但只有一部分樹。我認爲解釋它的最簡單方法是在服務器上運行tree -f
(它打印每個文件的完整路徑),然後在完整路徑上運行mon,並且僅運行grep
的匹配。其實我很樂意這樣做,但我沒有shell訪問服務器,只有rsync
。基於grep
輸出rsync --list-only
的兩步解決方案是完全可以接受的。如何正確地與rsync匹配的目錄
它實際上是比較簡單的,因爲我也知道這週一出現只作爲後綴到一個目錄(層次結構是非常剛性的),所以我試圖做
rsync --dry-run -vrlpt --include='*/' --include='**/*mon/' --exclude='*' --prune-empty-dirs
但不匹配任何東西。代替--include='*mon/'
代替雙星號。避免--prune-empty-dirs
匹配所有的目錄,但沒有文件,我認爲這是我的問題。所以我試圖在排除模式之前添加一些文件擴展名的包含模式(我寧願不這樣做,因爲我不想跟蹤它們並且它們可能會改變),但是它僅僅匹配所有這些文件,包括那些不在「星期一」樹上的人。
是的,我確實看到了this和this和this和無數其他人,這讓我取得一些進展(例如,你可以看到上面的),但沒有解決問題...