Script de copia de seguridad incremental

Estoy usando el comando rsync para la copia de seguridad incremental, mi requisito es la copia de seguridad incremental de los archivos modificados en el mismo directorio con la fecha actual, pero cuando uso rsync, almaceno la copia de seguridad incremental en la copia de seguridad completa no en el directorio de la fecha del nombre. Estoy usando el siguiente comando para la copia de seguridad incremental.

rsync -av --backup --backup-dir=/mnt/`date +%Y.%m.%d.%T` /etc/ /mnt/ 

Depende de lo que entiendas por incremental . Un truco es usar enlaces duros en una unidad EXT4. Esto significa que si los archivos no cambian, aparecerán en cada instantánea, pero solo existirán (y se copiarán en la unidad una vez). Aquí está el script que he usado antes:

 #!/bin/sh NEW_FOLDER="$(date +%F\ %H-%M-%S)" rsync --archive --human-readable --progress --link-dest /media/current "/etc/" "/media/incomplete/ mv /media/incomplete /media/'$NEW_FOLDER' rm -f /media/current ln -s /media/'$NEW_FOLDER' /media/current 

Al usar una carpeta incompleta , si la copia de seguridad se detiene a mitad de camino (muy útil para copias de seguridad grandes), se recuperará de nuevo cuando vuelva a intentarlo. A continuación, puede examinar cada carpeta como una copia de seguridad incremental completa. Este es un enfoque similar a Apple Time Machine.

Si no está molesto por usar enlaces duros para ahorrar espacio y no le importa la duplicación de archivos, elimine la --link-dest /media/current .

Rsync realizará copias de seguridad incrementales de forma predeterminada, pero probablemente no con el resultado esperado. El comando

 rsync -av /etc/ /mnt/ 

solo transfiere archivos modificados. Para eso, compara el contenido de /etc y /tmp . Si agrega una fecha calculada, por ejemplo, /tmp/$(date) , la carpeta de destino está vacía y, por lo tanto, todos los archivos se transferirán de nuevo.


Las opciones --backup y --backup-dir solo son útiles, si necesita una copia de seguridad de los archivos, que se eliminarán, si inicia el comando rsync con la opción --delete .


Resumen

Para crear verdaderas copias de seguridad incrementales, necesitará otra herramienta, por ejemplo. rsnapshot .