Recientemente decidí archivar algunos datos usandoAlquitrán. Los datos constan de numerosas copias de seguridad de la misma carpeta; lo que significa que contiene muchos duplicados. Leí que debido a que Tar carece de índice, no funciona bien con datos que contienen muchos duplicados. Básicamente, mi pregunta es: ¿Tar sería adecuado para archivar dichos datos?
Lo que más me importa es preservar todos los datos originales en un archivo, esto incluye todas las marcas de tiempo del archivo: creación, modificación, acceso.
Respuesta1
Por supuesto, Tar puede archivar estas copias de seguridad, sin importar cuántos duplicados tenga allí. Si tiene 100 duplicados del archivo abc.doc en 100 carpetas diferentes, se archivará 100 veces. Dicho esto, no es eficiente.
Si una herramienta de copia de seguridad puede eliminar datos duplicados, reconocería esos 100 archivos idénticos, haría una copia de seguridad de uno y haría referencia a él 99 veces. Si una de esas versiones cambia, eliminará la referencia y realizará una copia de seguridad por separado.
Respuesta2
alquitrán GNU
Tiempo de creación:
Linux realmente no registra el tiempo de creación de archivos. Tiene la ctime
marca de tiempo, que a veces se confunde con la hora de creación, pero en realidad es "hora de cambio de inodo": registra la última vez que hubo un cambio en el archivo o en sus permisos, propietario, etc. cambia con más frecuencia que mtime
. ctime
El kernel maneja el sello y el usuario no puede establecer valores arbitrarios (aunque puede restablecerlo a la hora actual con bastante facilidad).
Tiempo de modificación:
mtime
es preservado portar
Tiempo de acceso:
tar
normalmente cambia el tiempo de acceso incluso en el archivo original. Puedes evitar esto usando la --atime-preserve
bandera. Es posible que también desee la --preserve
etiqueta que conserva los permisos (y también el orden de clasificación del directorio).
No sé si puedes tar
conservar los tiempos en los archivos archivados, pero siempre puedes arreglarlos de la siguiente manera:
- Desengrasar
- Usando
touch -a -d TIME FILE
en cada archivo (con la hora en formato[[CC]YY]MMDDhhmm[.ss]
) - Retarrar con
tar --atime-preserve
advertencia: El uso --atime-preserve
actual recuerda la hora para poder conservarla después de leerla. En la mayoría de los sistemas, esto hará que la hora cambie, lo que a veces puede interferir con otro software (por ejemplo, software de seguridad).
Otro software
Podrías investigar rsync
(verEste artículopor ejemplo) o un sistema de control de versiones (como git
)