Necesito comprimir un directorio con alrededor de 350,000 archivos bastante pequeños que suman aproximadamente 100GB en total. Estoy usando OSX y actualmente estoy usando la herramienta estándar "Comprimir" que convierte este directorio en un archivo .zip. ¿Hay una manera más rápida de hacer esto?
14
Respuestas:
Para los directorios, usaría un
tar
canalizadobzip2
con max-compresión.una manera simple de ir es
Esto funciona muy bien si no tiene la intención de recuperar pequeños conjuntos de archivos del archivo
y solo planea extraer todo cuando sea necesario.
Sin embargo, si haces desea conseguir un pequeño conjunto de archivos a cabo, no es demasiado malo.
Prefiero llamar a dichos archivos
filename.tar.bz2
y extraer con laxfj
opción ' '.El tubo de compresión máxima se ve así,
Nota: el
bzip2
método ' ' y más compresión tiende a ser más lento que el normalgzip
desde 'tar cfz
'.Si tiene una red rápida y el archivo se va a colocar en una máquina diferente,
puede acelerar con una tubería a través de la red (usando efectivamente dos máquinas juntas).
Algunas referencias,
Dennis
fuente
Este tipo investigó un poco sobre eso. Parece que .zip comprimirá archivos más grandes más rápido. Sin embargo, produce uno de los tamaños de compresión más grandes. También parece que estaba usando las utilidades de Windows, pero apuesto a que la utilidad de OSX está casi tan optimizada.
Aquí hay un excelente sitio web donde numerosas utilidades de compresión se han comparado para la velocidad en muchos archivos. Hay muchas otras pruebas en ese sitio que podría mirar para determinar la mejor utilidad para usted.
Gran parte de la velocidad tiene que ver con el programa que utiliza. He usado la utilidad 7zip para Windows, y creo que es muy rápido. Sin embargo, comprimir muchos archivos lleva mucho tiempo sin importar qué, así que lo dejaría pasar de la noche a la mañana. O simplemente podría enlodar todo y no comprimirlo ... Personalmente odio descomprimir archivos grandes, así que tendría cuidado si eso es lo que quiere hacer.
fuente
Prefiero usar
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
para mover archivos a otro servidor y convertirlos al mismo tiempo
fuente