使用RSYNC,包含和排除如何组合?
问题描述:
我想rsync/Volumes/B /中的所有内容,除了缓存目录外,我想全局排除它。另外,我不想rsync的任何其它/音量/使用RSYNC,包含和排除如何组合?
我有以下排除文件:
+ /Volumes/B/***
- Cache/
- /Volumes/*
第一和第三行似乎正常工作,只是rsync的也拿起所有的缓存dirs under/Volumes/B/...(/Volumes/B/***/Cache/
)
我错过了什么?
答
rsync在遍历目录时自顶向下读取排除文件。
当它访问了Caches dirs时,rsync对第一个匹配模式起作用。
第一种匹配模式是“+ /卷/ B/*”,因此包含缓存。
规则是: 当有特定的子目录时,先放它们。
Here是一个简单的一步一步的解释。