Ya lo dicen directamente en su web oficial, "Restic es un programa que hace copias de seguridad correctamente" y la verdad es que tras varios días probando te das cuenta de que tienen razón.

Con Restic obtendremos los siguientes objetivos:

  • Fácil: Hacer copias de seguridad con Restic debe de ser sencillo de configurar y gestionar. Del mismo modo, la restauración debería de ser igualmente sencillo.
  • Rápido: La copia de seguridad únicamente está limitada por el ancho de banda de nuestra red o por la velocidad de transferencia del disco duro. Por lo que es posible realizar copias rápidamente cada día.
  • Verificable: Lo más importante es que la restauración se realice correctamente, por eso Restic permite verificar fácilmente que todos los datos pueden ser restaurados.
  • Seguro: Restic utiliza criptografía para garantizar la confidencialidad e integridad de sus datos. Los datos que se generen para la copia de seguridad estarán cifrados con AES-256 y autenticados con Poly1305-AES.
  • Eficiente: Cuando se genera una instantánea nueva únicamente se almacena el incremento real.
  • Libre: Restic está bajo licencia BSD.

Instalación de Restic

Para instalar Restic podremos hacerlo desde los mismos repositorios de nuestra distribución favorita, en el caso de tener una distribución basada en Debian la instalación se realiza de la siguiente forma:

apt install restic

Si tienes alguna otra distribución u otro sistema operativo, puedes encontrar las instrucciones de instalación en al documentación oficial.

Iniciar un repositorio local

Para iniciar un repositorio nuevo, debemos de hacerlo con la opción -r donde indicaremos la ruta del backup. Este ejemplo es para hacerlo en local o bien en un disco externo:

restic -r /var/backups/ init
enter password for new repository: 
enter password again: 
created restic repository 8d4999bbe3 at /var/backups/

Donde /var/backups es la ruta donde se guardaran los datos cifrado de restic y init es el comando para iniciar. Tras iniciarlo, nos pedirá una contraseña para el repositorio.

Crear el primer backup

Ahora con el repositorio iniciado, podemos crear nuestro primer backup de la siguiente forma:

restic -r /var/backups backup /etc

Tras este comando, nos pedirá la contraseña y esta será la salida:

enter password for repository: 
repository 8d4999bb opened successfully, password is correct

Files:         476 new,     0 changed,     0 unmodified
Dirs:            0 new,     0 changed,     0 unmodified
Added to the repo: 1.355 MiB

processed 476 files, 1.360 MiB in 0:00
snapshot 5f814b0c saved

Si vemos el contenido de nuestro backup veremos lo siguiente:

$ ls -lt /var/backups/
total 36
drwx------   2 root root  4096 Dec 17 11:27 locks
drwx------   2 root root  4096 Dec 17 11:27 snapshots
drwx------   2 root root  4096 Dec 17 11:27 index
-rw-------   1 root root   155 Dec 17 11:02 config
drwx------   2 root root  4096 Dec 17 11:02 keys
drwx------ 258 root root  4096 Dec 17 11:02 data
-rw-r--r--   1 root root 10811 Feb  4  2020 apt.extended_states.0

Visualizar copias creadas y restauración

Luego podemos ver las copias guardadas:

restic -r /var/backups/ snapshots

Con esta salida:

ID        Time                 Host        Tags        Paths
------------------------------------------------------------
5f814b0c  2020-12-17 11:27:02  restic                  /etc
------------------------------------------------------------
1 snapshots

Y con esto podemos crear backup de nuestros datos de forma local. Si quisiéramos restaurar un snapshot, podemos hacerlo de la siguiente forma:

restic -r /var/backups/ restore 5f814b0c --target /etc

Debemos de indicar el ID del Snapshot para hacerlo y luego --target la ruta donde queremos restaurarla.

enter password for repository: 
repository 8d4999bb opened successfully, password is correct
restoring <Snapshot 5f814b0c of [/etc] at 2020-12-17 11:27:02.169367928 +0100 CET by root@restic> to /etc

Eliminar snapshot

Para eliminar un snapshot, simplemente deberéis de hacerlo de la siguiente forma:

restic -r /var/backups forget 5f814b0c

Con esta salida:

enter password for repository: 
repository 8d4999bb opened successfully, password is correct
removed snapshot 5f814b0c
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación