如何让 rsync 在源文件被删除 6 个月后删除目标文件?

如何让 rsync 在源文件被删除 6 个月后删除目标文件?

在 Debian 10 上工作。看到rdiff-备份已经停止开发很长一段时间了,我想继续我的备份需求同步但是,rdiff-backup 有一个功能我还没准备好放弃:

--remove-older-than 6M

如果文件在源中不存在的时间超过 6 个月,该选项将从目标中删除文件。

有没有

  • 有没有办法在 rsync 中做到这一点?或者
  • 是否有其他更现代、可编写脚本的 Linux 备份工具能够提供此功能?

答案1

我强烈建议使用rsync基于rsnapshot:支持定义特定的保留策略,自动轮换和删除。

如果您仅想使用rsync,则需要通过find实用程序查找并删除超过 6 个月的文件 - 即:类似find /your/dir -mtime +180 -daystart -delete.

免责声明:在使用-delete子命令之前,请务必测试您的find命令以仔细检查它没有选择不需要的文件。

答案2

(遗憾的是,没有足够的声誉来发表评论)

我怀疑 rsnapshot 会占用更多空间来存储等效历史记录,因为每次发生更改时它都会添加整个文件的新副本。

rdiff-backup另一方面,只保留增量,其效率与 rsync 本身通过网络提供的效率基本相同,转换为磁盘空间。

对于原始发帖者,如果担心这个问题,我建议改用 borgbackup 之类的东西。一段时间以来,我对它非常满意,它比其他系统有很多优势(尽管我确实经常通过恢复和比较来验证备份,比如大约每月一次)

相关内容