Gracias a este magnífico post de Vicente Navarro he aprendido cómo hacer backups con rsync.
Recomiendo leerlo íntegramente a todos los interesados. No obstante, escribo aquí el comando que lanzo para mis backups:
rsync -av –delete –include-from=backup.txt $DIR_ORIGEN $DIR_BACKUP
- $DIR_ORIGEN es el directorio a partir del que cuelga toda la estructura que queremos copiar. Normalmente será / o $HOME
- $DIR_BACKUP es el directorio donde vamos a realizar el backup. En mi caso es un directorio donde tengo montado un disco externo.
- backup.txt es un fichero con reglas que definen qué es lo que hay y no hay que copiar. En mi caso es algo así:
+ /dir1/***
+ /dir2/***
- /dir3/no_copiar/***
+ /dir3/***
- */
- *
Lo que significa que copie toda la rama dir1 y dir2 así como toda la rama dir3 salvo el subdirectorio dir3/no_copiar
El orden es importante, es decir, es necesario poner la exclusión “- /dir3/no_copiar/***” por encima de “+ /dir3/***”
En mi caso tengo algo más de 40Gb y casi 300.000 ficheros a copiar. Tras el primer backup que lógicamente tarda bastante, los posteriores backups, si no hay cambios, tardan unos 3 minutos en comprobarlo todo. Si hay cambios, hay que sumarle el tiempo de copiado y borrado de ficheros.