我可以rsync一个tar文件,因为它仍然被创建?

时间:2013-12-14 20:03:20

标签: linux rsync tar

我有一个每日进程,可以将一个非常大的mysql数据库(> 500gb)的快照创建到backup.tar.gz文件中。我想将此文件rsync到另一台远程计算机。传输数据所需的时间比实际创建的备份要长得多,所以我想知道......

我可以在完全完成之前使用rsync开始传输backup.tar.gz文件,所以当它完成时,大部分数据已经被移动到另一台远程机器了吗?或者这会破坏tar.gz文件而不起作用吗?

2 个答案:

答案 0 :(得分:3)

是的,我认为这会奏效。因为gzip是过滤压缩,这意味着它可以以一种增量方式压缩和解压缩数据流。这意味着已写入的压缩数据以后不会更改,因此您可以使用rsync复制部分文件,然后继续复制其余文件。

如果有疑问,请进行概念验证测试并比较校验和。

<强>更新

传输大文件时,最好启用--partial标志,以便在传输中断的情况下,rsync将保留部分传输的文件,以便您以后继续。另一个相关的有用标志是--progress。事实上,使用较短的-P标记会更容易,这与使用--partial--progress相同。

答案 1 :(得分:1)

Rsync以多种方式比较源和目标,其中一些是修改日期,大小和校验和。如果大小或校验和发生变化,rsync会抱怨文件已经更改。您可以等到tar完成。