Estoy trabajando en un script de bash entre dos dispositivos NAS en el sitio y fuera del sitio. El objetivo es tener una copia de seguridad del NAS en el sitio en el NAS externo.
Estamos trabajando en el mapa en el sitio con archivos bastante grandes. aprox 40GB o superior Rsync tiene por defecto el habbit para reenviar archivos si se les cambia el nombre o se mueven a una subcarpeta en el destino de origen. Eso no es muy efectivo (movemos muchos archivos grandes alrededor del NAS en el sitio). por lo tanto, muchos archivos grandes se cargarán de nuevo en el NAS externo y retrasarán el proceso.
Descubrí que hay un parche para rsync, que agrega la funcionalidad --detect-renamed y --detect-move. (ver enlace abajo :)
https://moderncaveman.org/projects/modern/rsync-detect-renamed/patching-rsync-for-renamed.html
Agregué la opción --detect-move y los archivos se mueven realmente en el NAS externo y el archivo no se volverá a cargar. Pero solo funciona con la opción --delete-after, y con eso habilitado y algo se elimina en el NAS en el sitio, también se eliminará en el NAS fuera del sitio. Así que mi script tiene más de una funcionalidad de sincronización que una funcionalidad de copia de seguridad. Creo que eso es arriesgado.
¿Hay alguna manera de mantener los archivos eliminados en el NAS en el sitio en el NAS externo (sin borrar-o algo así?) Pero todavía tienen la función de detección de movimiento funcionando?
Ver mi comando rsync a continuación:
rsync -avzH --detect-moved --delete-after --progress CIFS_mount_to_onsiteNAS CIFS_mount_to_offsiteNAS
gracias por adelantado.
--remove-after
opción "? Su comando muestra que está usando--delete-after
no--remove-after
...