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

标签 rsync

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

我有以下排除文件:

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

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

我错过了什么?

最佳答案

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

规则是:
当有特定的子目录时,把它们放在第一位。

Here是一个简单的分步说明。

关于rsync - 使用 RSYNC,包含和排除如何组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7960669/

相关文章:

Bash——文件名中的 Rsync 变量有空格

linux - RSYNC 需要 ssh 目录或文件才能成功

macos - 通过 OSX ssh rsync 保留别名

rsync - udev 不会正确执行规则

linux - rsync 详细的最终统计数据但没有文件列表

backup - rsync 仅在日期和时间之后创建或修改的文件

linux - 从 Windows 到 Linux 的 Rsync,使用 putty pageant 身份验证

linux - rsync 备份动态文件夹中生成的一个文件

linux - rsync:包含排除目录中的文件

linux - 重定向密码提示警报