He escrito un pequeño script que alquila y comprime una lista de directorios + archivos.
El script parece ejecutarse con éxito, ya que se crea un archivo .tar.gz utilizable después de que se ejecuta el script.
Sin embargo, recibo este mensaje molesto una vez que finaliza el script:
tar: salir con estado de falla debido a errores anteriores
No veo ningún mensaje de error mientras el script está funcionando y, como dije, el archivo producido puede descomprimirse sin advertencias / errores. Como estoy usando esto como parte de mi copia de seguridad, quiero asegurarme de que no estoy ignorando algo serio.
¿Cuáles son las posibles razones por las que se genera este mensaje de error / advertencia? ¿Puedo ignorarlo con seguridad? Si no puedo ignorarlo, ¿cuáles son los pasos para diagnosticar y resolver el error?
Estoy corriendo en Ubuntu 10.0.4
el problema es el argumento, el
f
argumento toma el siguiente como nombre de archivo, por lo que debe ser el último argumentoo
es lo mismo y no toma error.
fuente
A veces, al hacer una copia de seguridad de los archivos que pueden cambiar durante la copia de seguridad, como los archivos de registro, puede resultarle útil la opción tar '--no ignore-error-lectura' (estoy en Debian Linux, no estoy seguro de que no sea gnu tar).
La salida estándar y el error se pueden redirigir en 2 archivos diferentes con algo como:
Creo que esto es generalmente seguro, pero tenga cuidado ya que el alquitrán no se detendrá ...
fuente
Estaba teniendo el mismo problema y ninguna de las respuestas anteriores me funcionó. Sin embargo, descubrí que ejecutar el siguiente comando funcionaba:
tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /
Los errores a los que se hace referencia
tar: Exiting with failure status due to previous errors
se pueden identificar desactivando la opción -v. Tras la revisión, los errores provienen de directorios como/run
y/sys
.Al excluir estos directorios, funciona bien. Espero que esto ayude a cualquiera con un problema similar.
fuente
Yo tuve el mismo problema. Todo lo que hice fue eliminar el guión ("-") del comando.
En lugar de escribirlo como
intenta escribirlo como
No sé por qué el guión estaba causando problemas en mi caso, pero al menos funcionó.
fuente
-f
debe seroutput.tar.gz
y no debe estarz
en el medio. Sin re-ordenamiento de las opciones sería correcta será:tar -cvf output.tar.gz -z folder/
. El viejo estilo espera todas las opciones en un solo lugar y todos los argumentos siguen.Has entendido mal una respuesta anterior. El problema no es el
-
, es dondef
está en su lista de argumentos.Intentará crear un archivo llamado "z", ya que ese es el texto después
f
. El mensaje de error se debe a que tar no puede encontrar "target.gz" para agregar al archivo "z".Creará correctamente target.tgz y le agregará archivos. Esto se debe a que target.tgz es el primer texto después del
f
argumento.fuente
Por lo general, puede ignorar ese mensaje. Si hay algún cambio (como eliminaciones / creaciones / modificaciones de archivos) en el árbol de directorios subyacente durante la creación de tar, arrojará ese mensaje. Además, si hay archivos especiales como nodos de dispositivos, fifos, etc., causarán esa advertencia.
¿Estás seguro de que no puedes ver ningún archivo culpable? Probar con
tar cvfz yourtarball.tgz /your/path
fuente
Tuve un problema similar al descomprimir un archivo que había recibido. Resulta que no tenía permiso para escribir los archivos en el archivo propiedad de root. Usando sudo lo arregló.
fuente
fuente