No, es muy poco atómico. Esto puede ocasionarle grandes problemas si comprime un archivo al que se agrega ocasionalmente, como un registro web.
Gzip lee, crea el archivo .gz (con la marca de tiempo actual), copia la marca de tiempo del archivo original y luego elimina el original.
Ciertas interrupciones pueden dejar un .txt.gz
archivo perdido, sin terminar , justo al lado del .txt
archivo. Esto crea un problema de integridad de datos: ¿Cuál es el archivo real? Es esto
- un gzip que falló, dejando un incompleto / corrupto
.txt.gz
? O
- un gunzip que falló, dejando un
.txt
archivo incompleto / truncado ? O
- ¿Un archivo comprimido con éxito
txt.gz
y un archivo recién creado .txt
?
(Esto último sucede cuando ingresas a tu directorio de registro HTTP y vas gzip *
).
En general, me parece prudente resolver esto a mano, a menos que sepa exactamente lo que sucedió porque lo acaba de hacer.
Afortunadamente, gzip generalmente funciona en serie, por lo que solo debería tener este problema con un archivo. Paralelamente, gzip no es una buena idea: aunque usará la CPU más completamente, dañará el disco y lo obligará a leer varios archivos a la vez, lo que ralentizará en gran medida todos los gzip. SSD o RAMdisk, por otro lado ...