-- Leo's gemini proxy

-- Connecting to jdrm.info:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=es-ES

Aprendiendo a hacer backups mediante Restic


Recientemente he recibido el encargo de montar un sistema de copias de seguridad y me he lanzado a usar algo ligero mediante restic


Restic es un desarrollo en Rust para la gestión de copias de seguridad. Es un programa que crea copias de seguridad cifradas e incrementales. No es un sistema cliente/servidor y permite usar un montón de servicios de almacenamiento pudiendo usar rclone como administrador de las conexiones. En este ejemplo voy a usar SFTP. En el caso de que queramos usar webDav deberemos gestionar la conexión con rclone. En mi caso todas las pruebas las he realizado sobre un NAS de Synology.


Instalación de Restic


Restic sobre SFTP


Pasos previos


Además de instalar restic debemos asegurarnos de que nuestro usuario puede acceder por SSH al servidor donde vamos a almacenar los bakups. Para ello debemos copiar nuestra llave pública ssh al servidor:


scp -p<puerto> ~/.ssh/id_rsa.pub my-nas-user@my.nas.ip:/var/services/homes/my-nas-user

Y entramos al servidor:


cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub

Creamos el repositorio


En restic llaman "repositorio" al lugar donde vamos a guardar un backup. Una vez subamos contenido creará una snapshot.


Para crear un repositorio ejecitamos:


restic -r sftp:my-nas-user@my-nas-ip:/path/destino init

Nos pedirá una contraseña que necesitaremos para administrar este repositorio (incluyendo el poder recuperar los datos, así que mejor no perderla)


Añadir contenido al repositorio


El siguiente paso es hacer el primer backup


restic -r sftp:my-nas-user@my-nas-ip:/path/destino backup /home/usuario/Documentos

Nos pedirá de nuevo la contraseña y veremos información sobre el progreso. Si queremos más información podemos añadir --verbose al comando anterior.


Y ya podemos ver las snapshots que ha creado con el comando


restic -r sftp:my-nas-user@my-nas-ip:/path/destino snapshots

Recuperar un backup


Se hace con el comando


restic -r sftp:my-nas-user@my-nas-ip:/path/destino restore id-bakup --target /tmp/prueba

Un dato curioso es que al restaurar el backup recrea el path completo que se almacenó en el repositorio, por lo que en nuestros ejemplos anteriores nos va a crear el path /tmp/prueba/home/usuario/Documentos.


Hacer limpieza


Como el espacio para las copias de seguridad es limitado restic nos permite indicar el número de copias que queremos guardar. Así con este comando le vamos a decir que nos guarde sólo 3 snapshots y que nos borre todas las demás:


restic -r sftp:my-nas-user@my-nas-ip:/path/destino restore id-bakup forget --keep-last 3 --prune

Más utilidades


Como se puede ver restic no se va a ejecutar de forma periódica. Por eso hay diferentes complementos para poder gestionar de una forma más sencilla los backups.


Restic-profile

Restic-browser

-- Response ended

-- Page fetched on Mon May 20 05:18:34 2024