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


11

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

つまり、ライブのソースファイルがfoobarbazの場合、バックアップにはfoo.gzbar.gzbaz.gzがあります

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

回答:


10

あなたが何をしようとしているのかわかりませんが、メインサーバー上でgzipされたバックアップを作成して、それらが容易に再同期可能であり、転送中に何かを解凍しないようにすることができます。

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.

いいね rsyncableフラグについては知りませんでした。それは便利です。それは、1%の損失のためのデフォルトがない理由のだろうか
マット・シモンズ

注意:--rsyncableオプションは、gzipのすべてのバージョンで使用できるわけではありません。また、gzipのコアコードではなく、一般的に適用されるパッチから提供されるため、バージョン番号だけでは十分ではありません。
mc0e


-1

rsyncにラッパーを書くことができます。データを「プル」する場合、特別なことは何もありません。元のマシンからバックアップサーバーにデータを「プッシュ」したい場合、それを機能させるのはよりデリケートです:

最初に、少なくともバックアップを実行するユーザーに対して、元のrsyncと同じ名前、パス、およびパラメーターでラッパーが呼び出されることを確認する必要があります。

次に、stdoutに何も書き込まないでください。通信チャネルが破損するためです。

3番目に、取得したすべてのパラメーターを必ず渡して、新しく圧縮されていない宛先に合わせて適切に変更します。


-2

彼はおそらく、相手側でのファイル圧縮ではなく、rsyncを介したデータ転送圧縮を探しています。

チェックアウト:http : //jimmyg.org/blog/2007/rsync-basics.html

manページの圧縮パラメーター:

   -z, --compress              compress file data during the transfer

        --compress-level=NUM    explicitly set compression level

デフォルトでは、sshはある程度まで独自の圧縮を行います。ネイティブsshよりもrsyncの方がどれだけ優れているかわかりません。ファイルの大部分が既にgzipファイルに圧縮されている場合は、rsyncの圧縮メカニズムでできることはほとんどないでしょう。ファイルを絞ることができるのはこれだけです。


いいえ、一方の端でのみファイル圧縮を探しています。既に圧縮されたファイルをrsyncするのは非効率的であるため、非圧縮データでrsyncを実行したいと思います。
rjmunro 09
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.