Básicamente estoy buscando para ver si existe una herramienta o script que pueda detectar archivos movidos o renombrados para poder obtener una lista de archivos renombrados / movidos y aplicar la misma operación en el otro extremo de la red para conservar el ancho de banda.
Básicamente, el almacenamiento en disco es económico, pero el ancho de banda no lo es, y el problema es que los archivos a menudo se reorganizarán o se moverán a una mejor estructura de directorios, por lo tanto, cuando use rsync para hacer la copia de seguridad, rsync no notará que es un cambio de nombre o movió el archivo y lo volvió a transmitir a través de la red nuevamente a pesar de tener el mismo archivo en el otro extremo.
Entonces, me pregunto si existe un script o herramienta que pueda registrar dónde están todos los archivos y sus nombres, luego, justo antes de una copia de seguridad, volvería a explorar y detectar archivos movidos o renombrados, luego puedo tomar esa lista y volver a aplicar la operación de mover / renombrar en el otro lado.
Aquí hay una lista de las características "generales" de los archivos:
- Grandes archivos que no cambian
- Se pueden renombrar o mover
[Editar:] Todas estas son buenas respuestas, y lo que terminé haciendo al final fue mirar todas las respuestas y escribiré un código para lidiar con esto. Básicamente, lo que estoy pensando / trabajando ahora es:
- Usar algo como AIDE para el análisis "inicial" y permitirme mantener sumas de verificación en los archivos porque se supone que nunca cambian, por lo que ayudaría a detectar la corrupción.
- Crear un demonio inotify que supervisaría estos archivos / directorio y registrar cualquier cambio relacionado con los cambios de nombre y mover los archivos a un archivo de registro.
- Hay algunos casos extremos en los que inotify puede fallar al registrar que algo le sucedió al sistema de archivos, por lo tanto, hay un paso final de usar find para buscar archivos en el sistema de archivos que tengan un tiempo de cambio posterior a la última copia de seguridad .
Esto tiene varios beneficios:
- Sumas de verificación / etc. de AIDE para poder verificar / asegurarse de que algunos medios no se corrompan
- Inotify mantiene el uso de recursos bajo y no es necesario volver a escanear el sistema de archivos una y otra vez
- No es necesario parchear rsync; Si tengo que parchear cosas que puedo, pero preferiría evitar parchar cosas para mantener la carga baja (IE no necesita volver a parchar cada vez que hay una actualización).
- He usado Unison antes y es realmente agradable, sin embargo, ¿podría haber jurado que Unison guarda copias en el sistema de archivos y que sus archivos "archivados" pueden llegar a ser bastante grandes?