rsync --compress-level:どの圧縮レベルを使用できますか?


13

Rsyncには圧縮用のコマンドライン引数があります。

-z, --compress              compress file data during the transfer
    --compress-level=NUM    explicitly set compression level

どういう--compress-level意味ですか?レベルとして使用できる番号は?

回答:


16

0〜9の値です。1が最速の場合、9が最も圧縮されます。それ以外では、rsyncとzlibの間に相関関係があり、rsyncについてzlibライブラリに「デフォルトの圧縮を使用する」ように指示されています。zlibのドキュメントでは、次のようになっています。

Z_DEFAULT_COMPRESSIONは、速度と圧縮の間のデフォルトの妥協を要求します(現在はレベル6と同等)。


だから、これらのレベルの起源はzlibですか?
16年

はい。ただし、rsync 0などで値を設定すると、圧縮されずにその形式で送信されます。
ミハル

0

使用された環境は、MACVLANで使用される2つのDockerコンテナ+ノイズトラフィック(約±1%のエラーを与える)で構成されていました。fileX-私の場合-はバイナリです

したがって、以下は、rsync tarredファイルと圧縮(オプション-z)untaredファイルを使用したrsyncの結果です。

      1. File tarred + rsync without compression (rsync -axvPAH fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4735665-4673346=62319 bits

      2. File tarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 56933 (fileX.tar)
    Transfer difference is 4933845-4871608=62237

      3. File tarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4870664-4808387=62277

      4. File untarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4669946-4607637=62309 bits

      5. File untarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4806735-4744764=61971 bits

      6. File untarred + rsync without compression (makes no sense since it’s the most bandwidth consuming one) 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.