¿Es seguro usar rsync
? cuando el sistema de archivos de origen está montado y se puede escribir, suponiendo que puede modificarse mientras se ejecuta rsync? Supongo que en condiciones de carrera es posible que no obtenga las últimas modificaciones, pero ¿existe algún riesgo de corrupción?
Respuesta aceptada:
Usando rsync
es bastante seguro en sistemas de archivos montados de lectura y escritura. Cuando rsync
se inicia, crea una lista de archivos y luego comienza a copiar esos archivos. Esta lista de archivos no se actualiza durante la ejecución. A continuación, se copian los datos reales.
Esto significa que cuando un archivo cambia después rsync
ha creado la lista de archivos, copiará el nuevo contenido. Sin embargo, cuando se añade un nuevo archivo después de rsync
ha creado su lista de archivos, este nuevo archivo no se copia. Si un archivo se elimina después de rsync
ha creado la lista de archivos, rsync le advertirá que no pudo copiar ese archivo. Tenga en cuenta que rsync
no es una instantánea, esto significa que es difícil saber en qué momento rsync
copió los datos.
Las instantáneas del sistema de archivos o del administrador de volúmenes (por ejemplo, usando ZFS o LVM), por otro lado, se crean instantáneamente y son una instantánea consistente del sistema de archivos en un momento bien definido que luego se puede copiar a otro host. rsync
no ofrece este tipo de consistencia.
EDITAR: Como otros han señalado en los comentarios, existe la posibilidad de que rsync
en realidad podría corromper su archivo. Cuando rsync comienza a leer un archivo y una aplicación está escribiendo ese archivo al mismo tiempo, es posible que termine con un archivo dañado.