使用RSYNC,包含和排除如何组合?

问题描述:

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

我有以下排除文件:

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

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

我错过了什么?

rsync在遍历目录时自顶向下读取排除文件。
当它访问了Caches dirs时,rsync对第一个匹配模式起作用。
第一种匹配模式是“+ /卷/ B/*”,因此包含缓存。

规则是: 当有特定的子目录时,先放它们。

Here是一个简单的一步一步的解释。