2011-10-31 26 views
4

我想rsync/Volumes/B /中的所有內容,除了緩存目錄外,我想全局排除它。另外,我不想rsync的任何其它/音量/使用RSYNC,包含和排除如何組合?

我有以下排除文件:

+ /Volumes/B/*** 
- Cache/ 
- /Volumes/* 

第一和第三行似乎正常工作,只是rsync的也拿起所有的緩存dirs under/Volumes/B/...(/Volumes/B/***/Cache/

我錯過了什麼?

回答

6

rsync在遍歷目錄時自頂向下讀取排除文件。
當它訪問了Caches dirs時,rsync對第一個匹配模式起作用。
第一種匹配模式是「+ /卷/ B/*」,因此包含緩存。

規則是: 當有特定的子目錄時,先放它們。

Here是一個簡單的一步一步的解釋。