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

人气:61 发布:2023-01-03 标签: rsync

问题描述

我想要rsync/voluments/B/中的所有内容,但缓存目录除外,我想要全局排除它。另外,我不想再同步任何其他/Volume/

我有以下排除文件:

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

第一行和第三行似乎工作正常,只是rsync还拾取了/VOLUME/B/...(/Volumes/B/***/Cache/)下的所有缓存目录)

我错过了什么?

推荐答案

rsync在遍历目录时自上而下读取排除文件。 当rsync访问缓存目录时,它会对第一个匹配的模式执行操作。 第一个匹配模式是"+/Volume/B/*",因此包括了缓存。

规则是: 如果有特定子目录,请将它们放在第一位。

Here这是一个简单的循序渐进的解释。

15