如何自动tar Rsnapshot备份文件?

tec*_*oob 1 linux backup rsnapshot

我正在使用 Rsnapshot 将我的服务器文件备份到远程服务器。为了最小化文件大小,我想对备份文件进行 tar,但我不知道如何使用 Rsnapshot 来做到这一点。

谁能帮我这个?任何帮助将不胜感激。谢谢你。

use*_*ser 5

您可以使用cmd_postexec配置设置在 rsnapshot 完成后运行自定义脚本。这个脚本可以做任何你想做的事情。

但是,事后对文件进行 tar 处理会增加磁盘使用量(如果有的话)。可能很多。默认情况下,rsnapshot 将选项传递给 rsync,以便 rsync 将任何未更改的文件硬链接到同一文件的先前修订版。

  • tar 添加了一些通常单独存在的元数据(例如,文件路径/名称、权限等),与仅保留原始文件相比,磁盘空间使用量略有增加。
  • tar 本身不进行任何压缩(尽管您可以通过 gzip、bzip2、xz 等压缩器运行生成的 .tar 文件)。
  • 通过在 rsync 完成后对树进行 tar 处理,您将失去在修订之间进行硬链接的能力,因此每个备份树 tar 文件必须包含完整内容,而不仅仅是与先前修订相比的差异。

我可以看到的解决上述第三点的唯一方法是对整个目标目录结构(snapshot_root在 rsnapshot 的配置中命名的目录结构)进行 tarcmd_preexec如果您真的想执行脚本,则执行该脚本),然后重新对其进行 tar 处理。这将大约使峰值磁盘空间使用量增加一倍,并显着增加运行 rsnapshot 执行所需的时间,而根本没有真正的好处。

只需按照预期的方式使用 rsnapshot。它更容易,而且我不认为它有任何缺点可以通过虔诚地运行tar备份来解决。

如果您对rsnapshot 如何保存副本有特定的问题,那么请关注它,而不是关注 tar(这可能是也可能不是您可能遇到的任何问题的解决方案)。