哪种压缩文件格式对rsync有效?

每个系统pipe理员都知道,如果需要备份大文件(例如数据库文件), rsync是一种方法:因为它使用增量压缩,所以只会覆盖已经从原始文件修改到备份文件的块,从而避免很多开销。

然而,对于某些文件格式,例如gzipbzip2 ,修改文件会导致整个块被再次复制,因为它会在文件结构中引起某种蝴蝶效应 ,即使只改变了几个字节也会引起修改。

那么,哪种压缩文件格式最适合rsync ? 相反,如果时间是黄金时,还有什么其他格式是必须要避免的,那么需要备份10K的数据呢?

你知道最近版本的gzip有一个--rsyncable选项吗? 从手册:

压缩时,根据input偶尔同步输出。 这大大增加了大小不到1%的大小,但意味着rsync(1)程序可以利用未压缩input中的相似性来同步两个使用此标志压缩的文件。 gunzip无法区分使用此选项创build的压缩文件与创build的压缩文件之间的区别。