Tengo un comando rsync en una aplicación que copia el contenido de una carpeta a otra máquina. Tengo la opción --remove-source-files
porque solo estoy interesado en tener los archivos en la máquina de destino después de que el rsync haya finalizado.
Sin embargo, me preguntaba cómo se comporta rsync si se bloquea o se interrumpe al transferir archivos.
Considere que tengo dos archivos para sincronizar, a
y b
. Rsync se copia a
, a continuación, eliminarlo de la fuente, y empezar a copiar b
, o va a esperar por tanto a
y b
se copien en la máquina de destino antes de eliminar a los dos? He visto que puede configurar este comportamiento al eliminar archivos extraños con algunos indicadores, pero no encontré ninguno sobre la eliminación de los archivos de origen.
fuente
Respuestas:
La comprobación del código rsync revela que los archivos fuente se eliminan a medida que se envían, aunque puede que no suceda de inmediato. rsync multiplexa sus operaciones, por lo que el mensaje de que un archivo se recibió con éxito (y, por lo tanto, se puede eliminar) puede almacenarse detrás de otros datos.
fuente
Lo intenté (y tú también podrías hacerlo fácilmente, para estar seguro). Se eliminan después de que todos los archivos se transfieren correctamente. Si se interrumpe la transferencia o se produce otro error, los archivos de origen no se eliminan, incluso si algunos de ellos se transfirieron correctamente.
EDITAR: según la respuesta de Kyle Jones, el caso puede ser diferente cuando hay muchos archivos involucrados.
fuente