rsync - 如何删除最近添加到排除列表中的目录或文件

rsync - 如何删除最近添加到排除列表中的目录或文件

我使用我的 NAS 备份几个较小的系统 - 共 8 个。

随着我了解的越来越多,并调整了我的排除规则,我发现有很多我之前忘记排除的剩余内容。

假设我决定排除所有 /var/log 来进行备份。特别是 kern* 和 messages* 各自会占用几 GB 的空间,而且这些内容在备份中完全没有意义。

只需将它们添加到 --exclude 列表中,即使使用 --delete 也不会删除它们,因为 exclude 会使 rsync 程序完全跳过它们。

它的操作方式与 Robocopy/MIR 不同。

这个错误有答案吗?


理想情况下,我希望 rsync 能够自动执行此操作,但也许每次我添加新的排除时,我应该手动清理旧副本?

这有助于删除剩余的内容:

cd /mnt/full
sudo rm -rf `sudo find -type d -name '.Trash-1000'`

根据答案

Ubuntu 16.04 rsync - 正在备份 NAS 服务器,我可以告诉它排除所有 .Trash 目录吗?

--------------------------------------------------------------------------

附录:Xenoid 指出有一个--delete-excluded开关,给出了所需的答案。我错过了。这正是我一直在寻找的,所以从现在开始这将是自动的。谢谢。

以下是直接针对该问题的问答,但在我的 Goggle Fu 中从未出现过:

--delete-excluded 对 rsync 到底起什么作用?

答案1

man rsync说有一个--delete-excluded选项:还删除接收方排除的文件

相关内容