rsync --compress-level: quais níveis de compactação podem ser usados?

13

Rsync possui argumentos de linha de comando para compactação:

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

O que --compress-levelsignifica isso ? Quais números podem ser usados ​​como nível?

cronfy
fonte

Respostas:

16

são valores entre 0 e 9. Onde 1 é o mais rápido, 9 é o mais compactado. Fora isso, existe uma correlação entre o rsync e o zlib, onde o rsync diz à biblioteca do zlib para "usar a compactação padrão", nos documentos do zlib, ele diz o seguinte:

Z_DEFAULT_COMPRESSION solicita um compromisso padrão entre velocidade e compactação (atualmente equivalente ao nível 6).

Michal
fonte
Então, a origem desses níveis é zlib?
cronfy
sim, mas você poderá, se definir valor, por exemplo, no rsync 0, descompactar e enviar nesse formulário.
Michal
0

O ambiente usado foi composto por dois contêineres de docker usados ​​com MACVLAN + algum tráfego de ruído (que gera cerca de ± 1% de erro). O arquivoX - no meu caso - é binário

Então, abaixo estão o resultado de arquivos tarredados rsync versus rsync com arquivos sem tarraxe de compressão (opção -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
fonte