为什么 rsnapshot 不排除我指定的目录?

Why does rsnapshot not exclude directories I specify?

我正在使用 rsnapshot 设置备份,但我在排除方面遇到了问题。我已经阅读了很多相关内容,并且我知道 rsync 在斜杠的使用方面存在重要差异。但我不明白为什么这不起作用。我在 /path/to/files/my_files/ 中的(简化的)文件夹结构是这样的:

folder1
folder2
folder3
-- subfolder1
-- subfolder2
folder4

我想在这里排除folder1/etc/rsnapshot.conf 中的 rsync 命令类似于:

backup  remote_user@remote_server:/path/to/files/my_files/    my_files/

虽然我的排除文件(也在 /etc/rsnapshot.conf 中定义)看起来像这样:

- /folder1

我也尝试了 - folder1- /folder1/- folder1/。但是其中 none 可以按照我想要的方式工作。例如,使用 - folder1 排除我想要的文件夹,但也排除路径包含字符串 folder1 的所有其他文件夹。另一方面,其他人不排除我要排除的文件夹。

这真让我抓狂,我看了这么多例子,感觉我尝试了所有可能的组合——但无济于事。谁能告诉我我做错了什么? rsnapshot 中的 excludes 有什么特别之处使其不同于简单的 rsync 调用吗?因为那里我没有问题。

rsnapshot 使用 --relative 选项调用 rsync。这改变的其中一件事是 include/exclude 规则的工作方式。

试试这个:

- /path/to/files/my_files/folder1