Una copia de seguridad incremental es aquella que copia los ficheros creados o modificados desde la ultima vez que realizó el respaldo. De esta forma se aligera la copia de seguridad tanto a la hora de hacer el backup como a la de enviar al servidor remoto.
Vamos a crear un script para realizar el backup y otro para restaurar.
Realizar backup y enviar al servidor remoto:
#!/bin/bash
rsync -av –delete -u -e «ssh -p 76» /ruta-directorio-a-respaldar/ usuario-remoto@servidor-remoto.com:/ruta-copia/
Restaurar backup desde el servidor remoto:
#!/bin/bash
rsync -av –delete -u -e «ssh -p 76» usuario-remoto@servidor-remoto.com:/ruta-copia/ /ruta-directorio-a-respaldar/
Las opciones que he utilizado son:
-a modo archivo, combina -r, -l, -p, -t, -g, -o, -D. Con esto se realiza una copia exacta de la estructura de los ficheros y directorios. Más información en el man de rsync.
-v para ver por pantalla lo que se va haciendo.
–delete por defecto no se eliminan los archivos que se han borrado en el origen, con esta opción lo forzamos.
-u sirve para que no se reescriban los archivos del destino más recientes que los de origen, normalmente no pasará eso, pero podría darse el caso.
-e para indicar que usamos un puerto distinto al 22, en este caso el 76. Si usamos el 22 no hace falta usar esta opción.
Al ejecutar estos scripts nos pedirá la contraseña del usuario remoto, en este anterior post vemos cómo evitar que rsync nos pida contraseña.
Para hacerlo todo más cómodo y automático, también podemos hacer que se ejecuten los scripts al encender y al apagar el ordenador.