web-dev-qa-db-ja.com

ファイルの圧縮アーカイブへのrsync

サーバーのバックアップをrsyncで取得していますが、それらのバックアップは非常に大きく、圧縮したいと思います。 rsyncの周りにある種のラッパーを使用して、バックアップ内のファイルをgunzipし、ライブファイルから変更をrsyncして、コピーされたらすぐにファイルを再gzipする方法はありますか?

つまりライブのソースファイルがfoobarおよびbazの場合、バックアップにはfoo.gz、- bar.gzおよびbaz.gz

言い換えると、圧縮ファイルを一方の端に、非圧縮ファイルをもう一方の端に配置します。 --rsyncableを使用してもrsyncの効率が低下するため、rsyncの前に圧縮したくありません。 rsyncの-zオプションについて知っています。バックアップマシンにすべてのファイルを非圧縮で保存するスペースがありません。

11
rjmunro

私は、fuseCompressマウントされたファイルシステムへのrsyncが最良のオプションであると思います。プロジェクトの履歴では、rsyncのパフォーマンスを改善することについて具体的に言及しています。

http://code.google.com/p/fusecompress/

https://github.com/tex/fusecompress/

6
rjmunro

あなたが何をしようとしているのか私にはわかりませんが、メインサーバーでgzip圧縮されたバックアップを作成して、それらがすぐにrsync可能で、転送中に何も解凍しないようにすることができます。

gzip(1)

--rsyncable
       While compressing, synchronize the output occasionally based on
       the  input.   This  increases  size by less than 1 percent most
       cases, but means that the rsync(1) program can much more  effi‐
       ciently  synchronize  files  compressed with this flag.  gunzip
       cannot tell the difference between a  compressed  file  created
       with this option, and one created without it.
10
A B