备份 - rsync 或 tar

备份 - rsync 或 tar

我们希望备份大约 100gb 以上的数据,每个数据都包含小文件(10kb 以上)。需要每周尽快将数据备份到另一个硬盘上。在这种情况下,哪种备份方式更好(尤其是速度方面)?Rsync 还是 tar?

答案1

确实rsync

rsync 的优点是它只会复制已更改的文件。

如果你有 100GB 以上的相对较小的文件,你不想复制它们全部每一次。

注意:第一次备份rsync会比较慢,因为全部复制文件。随后只复制已更改的文件,并且可以在复制过程中对其进行压缩。

请务必熟悉所有选项rsync...有很多。

Tar 是一个归档实用程序。您可以创建一个包含 100GB 以上内容的 tar 文件,但您不想每次都传输所有内容。

答案2

我想补充一点,虽然我总体上同意 pavium 的回复,并且我会选择rsync,但也有tar增量备份的选项。来自 man:

-g, --listed-incremental F 创建/列出/提取新的 GNU 格式增量备份

   -G, --incremental
      create/list/extract old GNU-format incremental backup

编辑:根据最近的评论,我将进一步阐述这两种备份的工作原理:

tar最初会创建一个包含所有备份文件的大文件,可能经过压缩(-ggzip 标志)。然后,每次增量备份都会创建一个仅包含修改过的文件的新文件,其中还会指定哪些文件已被删除。

rsync另一方面,最初会保留第二个镜像目录,其中包含源目录的精确树和文件,未压缩。然后,对于每个增量备份 ( -Bflag),它继续拥有源的镜像副本,并按日期将所有更改的文件 (修改和删除) 保存在另一个目录中。

因此,我们可以理解每种方法都有其优缺点。tar在容量有限的介质中维护备份更加困难,就像传统的增量方法一样。rsync不被视为经典的备份解决方案。它需要更多的磁盘空间用于镜像,因为它是未压缩的。它需要更多时间来重建以前日期的完整备份。

更新:自 2016 年 3 月起,出现了一种更新的替代方案:博格备份。我强烈推荐它。它使用“重复数据删除”方法。更多信息请参见上面提供的链接。

答案3

如果您有大量文件,则 rsync 可能会有些麻烦 - 尤其是当您的 rsync 版本低于 3 时。另一方面:如果您使用 tar,则会生成非常大的 tar 文件(除非数据可能被大量压缩)。就我个人而言,我会考虑rdiff-备份,但请确保您测试了您的恢复情况:rdiff-backup 在恢复时可能会占用大量内存。

答案4

您需要历史记录(多个备份)还是只需要将数据复制到其他磁盘?备份 100GB 的 10KB 文件需要年龄 如果你不使用块级备份。考虑制作块级快照或其他基于块级的解决方案,如果你真的需要快速地解决方案。

相关内容