Rsync 仅复制文件的更改部分。因此,如果我有一个大数据转储,例如文本格式的 SQL 数据库,并且我想使用尽可能少的带宽将其复制到我的本地计算机,我该怎么办?
我可以将其保留为未压缩的文本并使用带有 -z 开关的 rsync,或者我可以在服务器上对其进行 gzip 并 rsync 对 gzip 文件进行同步。
我怀疑源 SQL 文本文件中的微小更改可能会导致压缩 gzip 版本中的数据出现更大的混乱,因此随着更多文件的更改,rsync 将不得不做更多的工作。
此外,由于 -z 开关无论如何都在执行压缩,因此这可能是最有效的。但是,我不确定。
几年前,我经历了一个正式的过程来检查这个。我需要通过基于宽带的 VPN 将 MS-SQL 备份转储从(30!)个区域办事处复制到总部,我尝试了压缩和非压缩的所有排列。
就我而言,未压缩的文件使用 rsync 及其自身的压缩传输速度最快。文件大小通常为 4-9GB 的转储数据,其中一些会在几分钟内同步。
如果数据转储被压缩,rsync 几乎每次都传输整个文件,这需要几个小时。
值得对您的数据进行一些测试,但我怀疑您会发现最好将文件保持原样,以便 rsync 进行整理。