¿Cómo evitar la eliminación y copia innecesaria de carpetas movidas al usar rsync?

¿Cómo evitar la eliminación y copia innecesaria de carpetas movidas al usar rsync?

Leí que rsync no puede detectar carpetas movidas y simplemente las elimina y vuelve a copiarlas en la nueva estructura de carpetas.

Dado que el único cambio que hice en mi copia maestra fue la simple introducción de una carpeta superior para contener mis archivos originales, es decir:

folder1
folder2
folder3

en

top\folder1
top\folder2
top\folder3

Me preguntaba si podría hacer lo mismo manualmente en mi copia de seguridad, arreglar de alguna manera los tiempos de modificación de ambas carpetas superiores, para que las llamadas posteriores a rsync se ejecuten normalmente.

esto funcionara? ¿Si es así, cómo? Si no, ¿cuál es la forma recomendada de resolver este problema? ¿O debería ejecutar rsync con diferentes parámetros en primer lugar? (en lugar del rsync -a --delete /mnt/SRC /mnt/DESTque estoy usando actualmente)

Los directorios son bastante grandes, por lo que me gustaría evitar en la medida de lo posible realizar copias innecesarias.

Respuesta1

Sí, puede realizar el movimiento en la copia de seguridad manualmente y luego ejecutar rsync. No debería necesitar modificar los tiempos de modificación; simplemente deja que rsync haga eso.

Un cambio de nombre como ese es difícil de detectar automáticamente, por lo que duplicarlo manualmente es la solución habitual.

Respuesta2

Si lo hace, no debería necesitar actualizar manualmente los tiempos de modificación de los archivos también.

Si no le interesa específicamente reflejar la nueva estructura de directorios y solo desea los archivos, también puede rsync --(options) /mnt/SRC/newdir/ /mnt/DEST. Tenga en cuenta la barra adicional en el lado SRC o terminará copiando todo de nuevo.

Respuesta3

La solución sugeridaaquíHizo el truco:

rsync -vrt --size-only /src/ /dest/

La opción --size-only hace rsyncque se ignoren las marcas de tiempo, mientras que -t (preservar los tiempos de modificación) hace rsyncque se corrijan los tiempos de modificación discrepantes en la copia de destino.

información relacionada