我正在使用rsync在服务器之间复制文件,我正在使用-z选项压缩数据只为networking传输阶段。
但我想留在远程机器上的压缩文件,我还没有在rsync中find这个选项。
这可能吗 ?
不,这是不可能的。 您需要在传输数据之前或之后压缩数据。
简短的回答没有。
长答案:从我所了解的http://zlib.net/zlib_faq.html,zlib并不真正压缩文件,但stream的块。 您不能确定您的文件的总版本是否处于压缩状态(考虑发送一个200GB的mp3文件:您是否需要190GB的可用空间?)。
这是不可能的主要原因是由于rsync的性质。 从man页:
它以Delta转换algorithm而闻名,它通过仅发送源文件和目的地中现有文件之间的差异来减less通过networking发送的数据量。
除非这是您第一次传输这些文件,否则只会发送更改。 如果你能以某种方式保存数据stream,你最终会得到一种压缩的diff文件,这不会有什么特别的用处。
在传递给rsync之前压缩这些文件。