我正在使用(尝试)gzip 以可同步的方式压缩 SQL 文件,以便以最小的延迟传输备份。
然而,这似乎不起作用,因为加速总是 1.00。
存档是通过将数据库转储到.sql文件然后发出gzip -f3 --rsyncable file.sql.
接下来,远程机器使用以下标志对上次备份执行 rsync:
rsync -avhhiP --inplace
为什么我的加速比可能是 1.00?我不应该每次都重新创建存档,而是更新它吗?我在有关 --rsyncable 标志使用的在线指南中没有看到此方法的提及。
我在用:
# gzip -V
gzip 1.5
Run Code Online (Sandbox Code Playgroud)
小智 8
这个问题已经有点老了,但也许我的回答仍然有帮助:
Debian Wheezy 在 gzip 中有上述错误,导致--rsyncable-flag 不起作用。
请参阅相应的 Debian 错误。
您可以将其pigz用作替代品,这是一种gzip使用多个 CPU的并行化替代品,如果您手动指定更大的块大小,并且官方提供的--rsyncable实现应该比gzip补丁提供的实现更好,则可以稍微更有效地压缩。
此外,rsyncs--inplace参数降低了增量传输算法的效率 - 引用联机帮助页:
如果目标文件中的某些数据在可以复制到文件中稍后的位置之前被覆盖,则 rsync 的增量传输算法的效率可能会降低。如果您使用
--backup,则这不适用,因为 rsync 足够智能,可以使用备份文件作为传输的基础文件。