Rsync

rsync –compress-level:可以使用哪些壓縮級別?

  • January 13, 2022

Rsync 有用於壓縮的命令行參數:

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

是什麼--compress-level意思?哪些數字可以作為等級?

它的值在 0-9 之間。其中 1 是最快的 9 是最壓縮的。除此之外,rsync 和 zlib 之間存在相關性,其中關於 rsync 告訴 zlib 庫“使用預設壓縮”,在 zlib 的文件中,它說:

Z_DEFAULT_COMPRESSION 請求速度和壓縮之間的預設折衷(目前相當於 6 級)。

使用的環境由兩個與 MACVLAN 一起使用的 docker 容器 + 一些雜訊流量(產生大約 ±1% 的誤差)組成

因此,下面是 rsync 壓縮文件與 rsync 壓縮(選項 -z)未壓縮文件的結果

     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) 

引用自:https://serverfault.com/questions/815688