Compression de multiples dossiers
7 message(s)
• Page 1 sur 1
- sechanbask
- Message(s) : 22
- Inscription : 23 Jan 2016 19:44
Compression de multiples dossiers
Bonjour,
Je cherche à archiver des centaines de dossiers vers des archives individuelles. L'idée c'est de prendre le moins de place possible mais de pouvoir facilement revenir chercher des éléments dans nos affaires sans à avoir à dezipper des centaines de Go.
J'ai testé cette commande :
mais je voudrais plutôt utiliser lzma avec une super compression
mais j'obtiens l'erreur suivante :
Avez-vous une idée ?
Je cherche à archiver des centaines de dossiers vers des archives individuelles. L'idée c'est de prendre le moins de place possible mais de pouvoir facilement revenir chercher des éléments dans nos affaires sans à avoir à dezipper des centaines de Go.
J'ai testé cette commande :
- Code : Tout sélectionner
for i in */; do zip -r "${i%/}.zip" "$i"; done
mais je voudrais plutôt utiliser lzma avec une super compression
- Code : Tout sélectionner
for i in */; do lzma -e9 "${i%/}.7z" "$i"; done
mais j'obtiens l'erreur suivante :
- Code : Tout sélectionner
lzma : dossier1/.7z: Aucun fichier ou dossier de ce type
lzma : dossier2/ est un répertoire : ignoré
Avez-vous une idée ?
Re: Compression de multiples dossiers
Si je me souviens bien, lzma (xz en fait) ne compresse pas les repertoires, juste les fichiers.
Il faut donc passer par le bon vieux tar :-)
Il faut donc passer par le bon vieux tar :-)
- Code : Tout sélectionner
for i in */; do tar --lzma -cvf "${i%/}.tar.lzma" "$i"; done
Re: Compression de multiples dossiers
Intrigué par le choix de lzma, que j'avais évalué il y a bien longtemps comme "vaut pas le coup", je me suis amusé à refaire un petit comparatif :
Ma conclusion reste la même : lzma ne vaut pas le coup : on multiplie par 8 le temps de compression pour gagner au total 1Go en moins sur 14, soit un gain de taux de compression d'un poil plus de 7%...
- Code : Tout sélectionner
original :
size 31246748
zip :
time 15m8.505s
size 14673248
lzma :
time 120m43.485s
size 13593908
Ma conclusion reste la même : lzma ne vaut pas le coup : on multiplie par 8 le temps de compression pour gagner au total 1Go en moins sur 14, soit un gain de taux de compression d'un poil plus de 7%...
- sechanbask
- Message(s) : 22
- Inscription : 23 Jan 2016 19:44
Re: Compression de multiples dossiers
Merci ça marche bien. J'ai rajouté les options de compression normalement maximum, mais j'arrive à obtenir le même taux de compression que si je le fait à la main avec 7z (qui est meilleurs que LZMA2). Pour ce travail, le temps de compression/décompression n'est pas un critère pour moi.
Je perds 5 Mo sur 250 Mo d'archive. C'est pas énorme, mais j'ai des dossiers à archiver de plusieurs Go, alors j'ai peur de perdre des 100 de Mo...
J'ai essayé
J'ai fait un peu de lecture et j'ai cru comprendre que 7z et XZ ne fonctionnait pas de la même manière et que 7z était plus performant.
J'ai trouvé ça et j'essaie de l'adapté avec ce que tu m'a donné, mais pour l'instant je fait choux blanc, mais j'ai trouvé la message d'erreur vraiment drôle :
- Code : Tout sélectionner
# for i in */; do XZ_OPT=-9e tar --lzma -cvf "${i%/}.tar.lzma" "$i"; done
Je perds 5 Mo sur 250 Mo d'archive. C'est pas énorme, mais j'ai des dossiers à archiver de plusieurs Go, alors j'ai peur de perdre des 100 de Mo...
J'ai essayé
- Code : Tout sélectionner
for i in */; do XZ_OPT="-9e dict=512M" tar --lzma -cvf "${i%/}.tar.lzma4" "$i"; done
J'ai fait un peu de lecture et j'ai cru comprendre que 7z et XZ ne fonctionnait pas de la même manière et que 7z était plus performant.
J'ai trouvé ça et j'essaie de l'adapté avec ce que tu m'a donné, mais pour l'instant je fait choux blanc, mais j'ai trouvé la message d'erreur vraiment drôle :
- Code : Tout sélectionner
tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z
- Code : Tout sélectionner
for i in */; do tar cf "$i" | 7z a -si -mo=lzma2 -mx=3 "${i%/}.tar.7z"; done
System error:
E_INVALIDARG
tar: Je refuse de créer un fichier d'archive vide (oui je suis lâche)
Try 'tar --help' or 'tar --usage' for more information.
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,24 CPUs)
Creating archive 15-283-EPS-BOIS DE LA MARCHE.tar.7z
Re: Compression de multiples dossiers
Je pense que la commande tree peu être utile pour le listing des fichiers. Notamment avec certaine option comme -f, apres le man est ton ami. A vérifier mais je ne suis pas sur que tree soit installé par défaut.
Greg, peut on avoir les options de compressions du benchmark ?
Greg, peut on avoir les options de compressions du benchmark ?
Re: Compression de multiples dossiers
humangeek a écrit :Greg, peut on avoir les options de compressions du benchmark ?
- Code : Tout sélectionner
time for i in */; do tar --lzma -cvf "${i%/}.tar.lzma" "$i"; done
et
- Code : Tout sélectionner
time for i in */; do tar -zcvf "${i%/}.tar.gz" "$i"; done
Re: Compression de multiples dossiers
Cool merci, j’ai remis la main sur un benchmark pas trop mal foutu, (en anglais) pour ceux que cela interresse.
https://catchchallenger.first-world.inf ... LZ4_vs_LZO
https://catchchallenger.first-world.inf ... LZ4_vs_LZO
7 message(s)
• Page 1 sur 1