我们希望备份大约 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
最初会创建一个包含所有备份文件的大文件,可能经过压缩(-g
gzip 标志)。然后,每次增量备份都会创建一个仅包含修改过的文件的新文件,其中还会指定哪些文件已被删除。
rsync
另一方面,最初会保留第二个镜像目录,其中包含源目录的精确树和文件,未压缩。然后,对于每个增量备份 ( -B
flag),它继续拥有源的镜像副本,并按日期将所有更改的文件 (修改和删除) 保存在另一个目录中。
因此,我们可以理解每种方法都有其优缺点。tar
在容量有限的介质中维护备份更加困难,就像传统的增量方法一样。rsync
不被视为经典的备份解决方案。它需要更多的磁盘空间用于镜像,因为它是未压缩的。它需要更多时间来重建以前日期的完整备份。
更新:自 2016 年 3 月起,出现了一种更新的替代方案:博格备份。我强烈推荐它。它使用“重复数据删除”方法。更多信息请参见上面提供的链接。
答案3
如果您有大量文件,则 rsync 可能会有些麻烦 - 尤其是当您的 rsync 版本低于 3 时。另一方面:如果您使用 tar,则会生成非常大的 tar 文件(除非数据可能被大量压缩)。就我个人而言,我会考虑rdiff-备份,但请确保您测试了您的恢复情况:rdiff-backup 在恢复时可能会占用大量内存。
答案4
您需要历史记录(多个备份)还是只需要将数据复制到其他磁盘?备份 100GB 的 10KB 文件需要年龄 如果你不使用块级备份。考虑制作块级快照或其他基于块级的解决方案,如果你真的需要快速地解决方案。