GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es seguro usar Tar mientras se actualiza el directorio de origen?

Tengo que hacer una pregunta similar a esta.

En escenarios en los que está haciendo una copia de seguridad del directorio con tar y

  1. se están agregando nuevos archivos/directorios

  2. los archivos/directorios actuales se están editando y eliminado

¿puedes esperar un resultado seguro?

Por resultado seguro Me refiero a algo como:

  1. tar no estropeará nada en el directorio/subdirección fuente
  2. tar se agregará al archivo tal como se encontró en el momento de la construcción del archivo
  3. Se emitirá una señal de éxito incluso si se produjeron los cambios descritos

Respuesta aceptada:

1. tar no estropeará algo en el directorio/subdirección fuente

Cierto, a menos que cuentes la actualización de los tiempos de acceso como un error. Aparte de eso, tar no cambia nada en el árbol de fuentes.

2. tar se agregará al archivo tal como se encontró en el momento de la construcción del archivo

Cierto, por algún valor de “en el momento”. Si el árbol de fuentes cambia mientras tar lo lee, lo que se incluye en el archivo es algo impredecible. En particular, si un archivo cambia mientras tar lo lee, no hay garantía de que tar escriba una copia del archivo como estaba en algún momento. Por ejemplo, es posible tener:

  • tar lee los bytes 0–4095 de foo .
  • Algún programa escribe en foo , cambiando los bytes 4095–4096 en una sola operación de escritura.
  • tar lee los bytes 4096–8191 de foo .

Entonces el contenido de foo en el archivo no hay contenido antiguo ni contenido nuevo, es una mezcla de los dos. Otro ejemplo es que si se cambia el nombre de un archivo mientras tar está leyendo el árbol fuente, tar podría omitirlo por completo.

3 . se emitirá una señal de éxito incluso si se produjeron los cambios descritos

No, no necesariamente. Si tar detecta que la fuente ha cambiado mientras lo lee, podría quejarse y devolver un estado de falla. En particular, tar necesita escribir el tamaño de un archivo en el archivo antes de escribir el contenido, por lo que primero lee el tamaño de cada archivo fuente. Si llega al final del archivo antes de alcanzar el tamaño registrado, no hay una forma obvia de recuperarlo, por lo que cualquier implementación de tar debería quejarse al menos en ese caso.

Para realizar copias de seguridad de forma segura, utilice herramientas a nivel de sistema de archivos o de volumen para realizar una instantánea y haga una copia de seguridad de la instantánea.

Relacionado:Linux:¿el invitado virtualbox KALI en el host Ubuntu no ajusta automáticamente la resolución?
Linux
  1. ¿Es seguro usar Rsync mientras se actualiza la fuente?

  2. ¿Crear directorio de destino al extraer Tarball?

  3. ¿Usando –exclude con el comando Du?

  4. Cómo gzip un directorio en Linux

  5. cp:directorio omitido – error al copiar un directorio en Linux

Cómo crear un directorio en Linux usando el comando mkdir

Hp-ux 9:¿Copia de seguridad del sistema de archivos usando Tar?

Truncar un archivo mientras se está utilizando (Linux)

Exclusión de directorio al crear un archivo .tar.gz

Usando y en Bash while loop

no se puede obtener el script de origen en un directorio actual