¿Cuál es el formato de archivo más robusto?

25

Me gustaría hacer una copia de seguridad de algunas carpetas antiguas con documentos a los que muy rara vez necesito acceder. Para eso, me gustaría ponerlos a todos en un archivo. Como se trata de una copia de seguridad, el formato debe adaptarse a ese propósito. Entonces, el resultado final:

¿Cuál es el formato de archivo más confiable / robusto en Ubuntu?

Ingo
fuente

Respuestas:

20

Depende. Las dos opciones más populares son tarballs y archivos zip, pero faltan ambos:

  • .tar Los archivos de cinta son una opción muy popular para la mayoría de los usuarios de Linux. Conserva los permisos de archivos UNIX (que es importante para una copia de seguridad) y enlaces duros. Es compatible con todas las distribuciones de Linux que he probado, así como algunos programas de Windows como 7-zip . Sin embargo, tar tiene varias limitaciones y desventajas para el caso de uso de respaldo, como explicaron los desarrolladores de Duplicity . Puede ser muy lento: incluso para obtener una lista de nombres de archivos almacenados en el archivo, debe leerse todo el archivo. Tampoco maneja metadatos detallados que tienen algunos sistemas de archivos más nuevos.
  • .zip Los archivos zip actúan como un archivo y un formato de compresión. Para la velocidad, puede deshabilitar la compresión por completo. Los archivos zip son mejores que los archivos de cinta, ya que almacenan un tipo de tabla de contenido, lo que permite que los programas salten rápidamente al archivo específico que necesitan extraer. También almacena sumas de comprobación para el contenido de cada archivo, para permitir una fácil detección de corrupción de archivos. Los archivos zip son extremadamente populares, desafortunadamente, no son adecuados para copias de seguridad de Linux porque no almacenan permisos de archivos simples.

Aquí hay dos opciones más que, lamentablemente, también faltan:

  • .7z Los archivos comprimidos de 7z tienen algunas características excelentes, como el cifrado y la compatibilidad con archivos muy grandes. Desafortunadamente, no almacena permisos de archivos UNIX, por lo que no es adecuado para copias de seguridad de Linux.
  • .ar Los archivos clásicos de UNIX son los predecesores de los archivos tar y sufren las mismas limitaciones que los archivos tar.

En mi opinión, no existe un formato de archivo de copia de seguridad completamente robusto para las copias de seguridad de Linux, ninguno que sea lo suficientemente conocido como para garantizar mi confianza, de ninguna manera.

Una forma de superar las limitaciones de cada uno de estos formatos es combinarlos: por ejemplo, archivar cada archivo individualmente en un archivo tar y luego archivar todos estos tarballs en un archivo zip.

Si desea una copia de seguridad realmente robusta, probablemente debería buscar estas soluciones:

  • haga una copia de seguridad directamente en un disco duro externo, con el mismo sistema de archivos tanto en el origen como en el destino. Esto garantiza que almacenará los permisos y metadatos de cada archivo exactamente como está previsto. (Por otro lado, los propietarios y propietarios de grupos de los archivos se almacenan utilizando sus números de ID de usuario y Groupid, no sus nombres).

  • Utilice un software de clonación e imagen de disco completo, como CloneZilla . No puede recuperar un archivo de una de estas copias de seguridad, pero puede estar absolutamente seguro de haber guardado todo lo que pueda.

Y recuerde, recuerde siempre: solo puede confiar en sus copias de seguridad si ha intentado restaurarlas. Si lo peor llegara a ser peor y su disco duro de origen fuera completamente destruido, ¿podría restaurar todo lo que necesita para restaurarlo en un nuevo disco duro? ¿Funcionaría como esperabas? Intente restaurar su copia de seguridad en un nuevo disco duro e intente ejecutar desde ese disco duro durante un par de días. Si nota que falta algo, sabe que su respaldo no fue lo suficientemente completo.

También piense dónde guarda sus copias de seguridad. Necesita al menos algunas copias de seguridad que no estén en el mismo edificio que los discos de origen para protegerse del robo o incendio. Algunas opciones para esto son la nube o la casa de un amigo.

Flimm
fuente
¡Gracias por esta buena explicación de los pros y los contras de TAR / ZIP! Muy útil.
Pisu
9

Un tarball ( .tararchivos) sería el camino a seguir. Utilice el gzipformato de compresión para obtener menos compresión, pero una buena velocidad. bzip2es mucho más lento pero proporciona una mejor relación de compresión. Sin embargo, para los datos binarios, no hay una gran diferencia.

El comando para comprimir un directorio usando la compresión gzip:

tar czf /path/to/save/backup.tar.gz directory-to-backup

Para extraer un tarball comprimido con gzip mientras se conservan los permisos de archivo:

tar xzpf /path/to/save/backup.tar.gz

Reemplace zpor jla compresión bzip2 y agregue vantes de v (por ejemplo, czvfy xzpvf) para imprimir los nombres de los archivos a medida que se archivan / extraen.

Lekensteyn
fuente
44
Para mayor confiabilidad, no desea compresión. Cualquier daño a un archivo comprimido hará que se pierda todo lo que sigue al punto de daño.
psusi
55
@psusi Eso no es cierto para bzip2, que se comprime en fragmentos de ~ 1 MB. Echa un vistazo a bzip2recover.
Phihag
@phihag, ordenado, ¡después de todos estos años no me había dado cuenta! +1. Una muy buena razón para bzip2 sobre gzip.
psusi
7

Elijo 7zip ( sudo apt-get install p7zip-full). Parece un archivador de compresión ideal desde mi punto de vista.

No me gustan los tarballs clásicos por su torpeza, ya que todo el archivo tar debe descomprimirse (lo que puede suceder detrás de escena, pero aún sucede) solo para ver la tabla de contenido del archivo.

Ivan
fuente
4

Aunque no es tan conocido o ampliamente utilizado, me inclinaría por usar afio debido a la forma en que comprime los archivos individualmente, lo que hace posible la recuperación en caso de corrupción. Instalar a través de aptitude o similar.

nat
fuente
1

Tarball comprimido (.tar.gz, .tgz), estándar de archivo de Linux. No te puedes equivocar con eso.

Nunca en mi vida tuve un archivo .tar.gz corrupto o incluso problemático. En FlatmateRooms usamos esto para archivar cientos de miles de imágenes en el servidor y todas las copias de seguridad.

Compañero de piso
fuente
0

En algunos casos, este es útil para mí.

tar -cJvf paquete.tar.lzma folder-to-backup/
maniat1k
fuente