Quali sono le migliori opzioni da utilizzare quando si compressa i file utilizzando 7 Zip?

Ho spesso bisogno di raccogliere file di log e caricarli in un server centrale (proprietario di un'altra società). Il server centrale ha un limite di dimensione del file, quindi cerco di creare il più piccolo file ansible ancora in formato zip.

Quali sono le impostazioni migliori da utilizzare quando si compressa un file di text in un formato di zip quando la mia necessità è solo una piccola dimensione di file?

Opzioni 7zip

Ho fatto la compressione ultracompatta e scoperta, e ho notato che LZMA ha un lavoro migliore di sgonfiarsi, ma sono tantissime altre permutazioni di opzioni per me per testare tutte.

    Per creare il file ZIP più piccolo standard che 7-Zip può creare, prova:

     7z a -mm=Deflate -mfb=258 -mpass=15 -r foo.zip C:\Path\To\Files\* 

    Fonte: come posso get la migliore compressione ZIP standard?

    Altrimenti, se non si preoccupa dello standard ZIP, utilizzare le seguenti impostazioni ultra:

     7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1 

    Quali sono:

     -t7z 7z archive -m0=lzma lzma method -mx=9 level of compression = 9 (Ultra) -mfb=64 number of fast bytes for LZMA = 64 -md=32m dictionary size = 32 megabytes -ms=on solid archive = on 

    Se è ansible utilizzare il formato .zz piuttosto che .zip, vorrei semplicemente utilizzare PPMD con le seguenti opzioni e lasciare tutto il resto impostato dal livello di compressione:

    • Formato archivio: 7z
    • Metodo di compressione: PPMD
    • Livello di compressione: Ultra

    Compio regolarmente i registri del server / text (60MB +) usando queste opzioni e di solito vengono fuori a 1-2% della dimensione originale.

    Confronto per db.fdb 1,2 GB (1236598784 B) nel server Ubuntu 14.04.03 con p7zip [64] 9.20 su VM:

     1. 7z a -mx=9 1.7z db.fdb 2. 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on 2.7z db.fdb 3. 7z a -t7z -m0=lzma -mx=9 -mfb=258 -md=32m -ms=on 3.7z db.fdb 4. 7z a -t7z -m0=lzma -mx=9 -mfb=258 -md=32m -ms=on -pass=15 4.7z db.fdb 5. 7z a -mx=9 -mmt=on 5.7z db.fdb 6. 7z a -t7z -m0=lzma -mx=9 -mfb=258 -md=32m -ms=on -mmt=on 6.7z db.fdb 

    e hanno questi risultati:

     1.7z 96 MB (100108731 B) with 6' 25" 2.7z 95 MB ( 99520375 B) with 5' 18" 3.7z 93 MB ( 97512311 B) with 9' 19" 4.7z 93 MB ( 97512345 B) with 9' 40" 5.7z 96 MB (100108731 B) with 5' 26" 6.7z 93 MB ( 97512311 B) with 9' 09" 

    Penso che il secondo metodo funziona benissimo (quasi) il miglior compresso con il miglior tempo. Ma per la migliore "vista" e facile da ricordare è il primo metodo – con piccoli file e nessun punto di compressione max. Tra il metodo 2 e 3 non otteniamo 7z più piccoli ma pagano quasi due volte più tempo per la compressione. Chiunque decida con i propri.

    Impostare il field "divisione in volume, byte" alla dimensione massima consentita del server (in byte, credo, anche se sembra accettare abbreviazioni comuni come "KB" e "MB"). Se il file zip supera tale dimensione, il 7-Zip dividerà automaticamente in più file, ad esempio integration_serviceLog.zip.001 , integration_serviceLog.zip.002 , ecc. (Indietro quando PK Zip usava questo per span i file zip in più dischi floppy.) Avnetworking bisogno di tutti i file da essere presenti per scompattare. Utilizzare invece di preoccuparsi delle impostazioni assolute di compressione ottimali da utilizzare per qualsiasi particolare set di file, perché ciò che è meglio per un file può essere diverso per un altro file e non si desidera passare attraverso questo each volta che è necessario copiare i registri.