Saltar al contenido principal

VPS: Hacer copias de seguridad de servidores Linux con Rsync

Esta guía fue creada con los siguientes productos:

(Los detalles pueden variar según los productos de diferentes proveedores, pero los conceptos principales permanecen igual)

Rsync:

Las copias de seguridad se pueden hacer con la herramienta Rsync.
Se pueden copiar en el mismo sistema local a otro directorio/disco o a un sistema remoto.

Copiar datos a otro directorio o disco local:

información

Atención: La primera ejecución puede tardar mucho más que las siguientes, dependiendo de la cantidad de datos. Esto es porque la primera vez Rsync sincroniza todos los datos, a partir de la segunda vez solo se sincronizan los datos que han cambiado.

Así se crea una copia de seguridad incremental.

Paso 1

Rsync se puede instalar con el siguiente comando:

apt install rsync

Después de instalarlo, se puede usar directamente.

Paso 2

En este ejemplo, la carpeta Client dentro de /home se debe sincronizar con la carpeta Backup dentro de /home.

Esto se puede hacer con el siguiente comando:

rsync -arz /home/Client /home/Backup

-a=Archivado, se copian los atributos


-r=Recursivo, también se sincronizan subcarpetas


-z=Compresión, dependiendo de la cantidad/tamaño de datos se comprime

La carpeta se sincronizó correctamente.

Si ahora se elimina un archivo, etc. en la carpeta Client, este permanecerá en la carpeta Backup.
Pero como los archivos deberían estar siempre sincronizados 1:1, el comando rsync se puede modificar fácilmente para que también elimine datos que ya no estén en la carpeta Client de la carpeta Backup.

El comando modificado es:

rsync -arz --delete /home/Client /home/Backup

-a=Archivado, se copian los atributos


-r=Recursivo, también se sincronizan subcarpetas


-z=Compresión, dependiendo de la cantidad/tamaño de datos se comprime


--delete= Elimina datos que ya no existen en la fuente pero sí en el destino

Paso 3

Para no tener que ejecutar el comando manualmente siempre, se puede poner en un cronjob.
Por ejemplo, se quiere crear una copia de seguridad diaria a las 3 am:

Abre crontab -e:

Con el número 1 puedes usar "nano" como editor.
Con el número 2 puedes usar "vim" como editor.

Después de abrir el archivo con, por ejemplo, Nano, se puede generar y añadir un crontab.
Puedes crear un crontab con este Generador.

El crontab que se introduce queda así:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Cada día a las 3 a.m. se ejecuta el comando y se crea la copia de seguridad.