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/DEST
que 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 rsync
que se ignoren las marcas de tiempo, mientras que -t (preservar los tiempos de modificación) hace rsync
que se corrijan los tiempos de modificación discrepantes en la copia de destino.