rsync --compress-level: ¿qué niveles de compresión se pueden usar?

13

Rsync tiene argumentos de línea de comando para la compresión:

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

Que --compress-levelsignifica ¿Qué números se pueden usar como nivel?

amonestar
fuente

Respuestas:

16

Son valores entre 0-9. Donde 1 es más rápido, 9 está más comprimido. Aparte de eso, existe una correlación entre rsync y zlib, donde rsync le dice a la biblioteca zlib que "use la compresión predeterminada", en los documentos de zlib, dice esto:

Z_DEFAULT_COMPRESSION solicita un compromiso predeterminado entre velocidad y compresión (actualmente equivalente al nivel 6).

Michal
fuente
Entonces, ¿el origen de estos niveles es zlib?
cronfy
sí, pero podrá establecer el valor, por ejemplo, en rsync 0, entonces se descomprimirá y luego enviará ese formulario.
Michal
0

El entorno utilizado estaba compuesto por dos contenedores acoplables utilizados con MACVLAN + algo de tráfico de ruido (que genera un error de ± 1%). El archivo X, en mi caso, es binario.

Por lo tanto, a continuación se muestran los resultados de archivos tar rsync versus rsync con archivos sin compresión de compresión (opción -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) 
Zatarra
fuente