无法从口是心非备份中排除 .cache

无法从口是心非备份中排除 .cache

我希望使用duplicity(我经常使用它,通常没有问题)/etc/root.我希望.cache/root目录中排除。我尝试:

duplicity incremental --full-if-older-than 30W --include /etc \
  --include /root --exclude '/root/.cache' --exclude / \
  --verbosity info / scp://TARGET

这通常有效,但/root/.cache包含在备份中。我没有'/root/.cache'尝试不同的表达模式:/root/.cache"/root/.cache""**.cache"'**.cache'''**.cache''其他几种,但结果相同。

根据口是心非手册(我在 openSUSE 上有 0.7.12),表达式"**.cache"应该可以正常工作。是我看错了说明书还是我做错了什么?

答案1

蒂利亚,

排除口是心非时,顺序很重要。参数按给定的顺序使用。在您的示例中,“/root/.cache”与

--include /etc
--include /root <-- and matches here
--exclude '/root/.cache'
--exclude /

尝试将特定的排除项移到更一般的包含项之前,例如。

--include /etc
--exclude /root/.cache
--include /root
--exclude /**

那应该有效。当然,将缓存移出根目录的主文件夹也可以。

顺便提一句。文件选择在口是心非的手册页中有自己的部分 http://duplicity.nongnu.org/duplicity.1.html#sect9

字。到**.cache,是的。它会起作用,但最终会排除任何名为“.cache”的路径。如果您想要确切的名称,您应该使用**/.cache.

最后,还有一个--exclude-if-present参数,如果只需要排除一些文件夹,该参数会非常方便。

--exclude-if-present filename
如果文件名存在,则排除目录。允许用户通过添加指定文件(例如“.nobackup”)来指定他们不希望备份的文件夹,而不是维护全面的排除/包含列表。此选项需要出现在任何其他包含或排除选项之前。

..ede/duply.net

相关内容