Recibo muchas advertencias al hacer una copia de seguridad de mis archivos de servidor Postfix y Courier en ejecución, como:
file has vanished: /var/kunden/mail/username/[email protected]/tmp/courier.lock
¿Cómo elimino esas advertencias rsync
cuando lo ejecuto desde Cron /usr/bin/rsnapshot hourly
?
¿De alguna manera puedo excluir esos directorios?
/var/kunden/mail/*/*/tmp/
la tmp
carpeta también puede ser más profunda, por ejemplo:
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/courier.lock
rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/
?/tmp/
en ellos tal como lo escribí. Si quieres ser más explícito, entonces sí, puedes especificarlo como lo has escrito.--exclude='/tmp/'
excluye solo el directorio llamadotmp
en la raíz de la copia. Para excluir todos los subdirectorios llamados entmp
cualquier lugar, use--exclude='**/tmp/'
.Desafortunadamente, a diferencia de lo que se describe en la solución SWdream,
--ignore-missing-args
no tiene impacto en los archivos desaparecidos. Simplemente ignorará los argumentos de origen que no existen.Ver
man rsync
:La forma "oficial" de ignorar el archivo desaparecido es usar este script desde el repositorio de origen oficial de rsync: https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no- desaparecido; hb = CABEZA
que es muy similar a lo que dijeron @kenorb y @ gilles-quenot.
fuente
La razón es que estos archivos existían mientras rsync está creando la lista de archivos para transferir, pero se eliminan antes de la transferencia.
Es un masaje de advertencia, no un error. Sin embargo, debe intentar averiguar por qué se eliminó este archivo, tal vez sea importante.
Para ignorar esta advertencia, puede usar la opción --excluir como la pregunta anterior o usar la
-ignore-missing-args
opción rsync, hace que rsync ignore los archivos desaparecidos:--ignore-missing-args ignore missing source args without error
tal vez ayude.fuente
El error significa que
rsync
ya no puede encontrar los archivos que existían al crear la lista para transferir. Estos errores de archivos desaparecidos ocurren cuando inicialmente se encontró que un archivo estaba presente y luego ya no está allí. En algunos casos, también ocurre cuando los archivos de origen están dañados o tienen caracteres no válidos en el nombre (asífsck
se aconseja).Básicamente, esto es una advertencia, no un error, por lo que no hay nada de qué preocuparse, ya que el estado de cada archivo de destino refleja un estado que los archivos de origen correspondientes durante la ejecución.
Si está causando un problema debido a que el valor de salida no es cero, esto se puede resolver mediante el siguiente script de contenedor ( fuente ):
o por el siguiente script de solución ( fuente ):
que existe básicamente con los mismos códigos de error que rsync si falla rsync.
Esto se discute más a fondo en: Error 3653 - Reduce la necesidad de la advertencia de "archivos desaparecidos"
fuente
O simplemente (con bash moderno ):
fuente
vanished
también?Mi respuesta podría ser un caso de uso especial, pero sentí que valía la pena señalarlo, por lo que las personas no pierden datos si caen en este caso.
Recibí ese mensaje para varios archivos mientras realizaba una copia de seguridad de rutina de las unidades a través de rsync.
Realicé una comprobación del sistema en el disco y resultó que hay problemas con la unidad (asignación / corrupción de archivos, etc.) y recomendé una copia de seguridad + restauración + reformateo.
Por lo tanto, antes de salir, suprimir o ignorar el mensaje directamente, puede ser aconsejable ejecutar un control de estado en su unidad solo para estar seguro.
fuente
tmp
directorios.Intente montar su disco de respaldo con
nosuid,nodev,nofail,x-gvfs-show
opciones.No estoy seguro de qué sistema está utilizando, pero creo que esto está relacionado con las opciones de montaje de su disco. En Linux esto sucede si configuro las opciones de montaje en
User Session Default
. Se resuelve cuando lo deshabilito y rsync se completa sin ningún error.fuente
Use este parámetro:
poner la lista en un archivo. En el archivo exclude.ini escriba algo como:
Dónde:
Recuerde que si el sistema de archivos depende de las mayúsculas y minúsculas, es posible que tenga que dar cuenta de esto.
fuente