Restic + Backrest + MiniO - 1
Lo primero y antes de nada, tengo que dar las gracias a Carlos M. de El Blog de Lázaro y a Lorenzo de Atareao, por todo el conocimiento que me han aportado, porque sin eso yo no podría haber hecho lo que voy a explicar en este artículo. Muchas gracias 👏.
Ahora vamos a explicar cómo, gracias a estas 2 increíbles personas, he creado mi perfecto (para mí) sistema de copias de seguridad.
nota: Tengo que decir que me falta la parte de externalizar las copias, pero es muy parecido a lo que tengo ahora, así que no debería haber muchos problemas.
Lo primero y más básico es explicar lo que quiero hacer:
- Mediante Restic, hacer las copias de seguridad de mi equipo personal y llevarlas al servidor local con unRAID.
- Atareao explica que lo correcto es hacer una copia de seguridad en local, otra en el servidor local y una en un VPS externo.
- Yo entiendo que las copias en local, si te falla el HDD/SSD del equipo no sirven de nada, así que mejor hacer solo copia de seguridad en servidor local (que ya tengo implementado) y otra en VPS externo (que me falta por implementar).
- Mantener la regla de 7 copias diarias, 4 semanales, 6 mensuales. Me parece un poco excesivo, pero nunca se sabe; más vale prevenir que curar.
Así que me puse a ello. Pero lo primero era tener un HDD para guardar las copias de seguridad, y eso ahora mismo, con mi nuevo servidor es muy sencillo: simplemente he aprovechado un HDD de 1 TB que tenía por aquí tirado, lo he conectado a unRAID y a funcionar. De nuevo, tengo que dar las gracias a @Mr. H, por el increíble diseño que ha hecho.
Una vez que ya tenía mi disco para las copias de seguridad, venía el momento de instalar Restic en mi equipo personal. En Debian GNU/Linux, con un simple APT lo tienes instalado:
usuari@debian:~$ sudo apt install restic
Ya está instalado.
Ahora pasamos a las cosas más complicadas: la instalación de Backrest y de MiniIO.
Pero “complicado” si no estás en unRAID, porque si no es tan fácil como ir a la sección Apps, buscar Backrest e instalar. No voy a explicar cómo se hace la instalación en unRAID, primero porque es muy sencilla y solo tienes que configurar lo que aparece, y si no hay suficiente con esto, tienes este otro recurso, porque Lázaro ha hecho un artículo donde lo explica mucho mejor, así que ¿para qué reinventar la rueda?


Una vez que tenemos Backrest, solo nos falta la instalación de MiniIO y, como antes, mejor leer el artículo de Lorenzo, que también lo explica muy bien.
nota: Lo que hay que tener en cuenta a la hora de instalar MiniIO es la nota que añade el creador de este Docker para cuando se usa en unRAID:
Attention: Unfortunately due to changes in Minio, the unRAID file system is no longer supported. The only way to get Minio to work on unRAID now is by mapping a single disk directly or setting up a V-Disk.
En mi caso, no he tenido ningún problema, porque solo tengo un HDD para las copias de seguridad, pero siempre hay que tenerlo en cuenta.
◇ A tener en cuenta en la configuración de nuestro repositorio en Backrest
A la hora de realizar la instalación de Backrest, tenemos que tener en cuenta que la IP local tiene que ser la de nuestro servidor, que es el que recibe las copias de seguridad de Restic desde nuestro equipo local.
Asimismo, en mi caso no tengo configurado ningún plan de gestión de copias, porque eso se encarga el script de bash que tengo en mi equipo local para hacer las copias de seguridad.
Después de este pequeño apunte, voy a explicar algunas cosas sobre el uso y funcionamiento de Restic que nos pueden venir bien para más adelante.
1. Saber el estado de las copias:
usuari@debian:~$ restic -r /path/to/backup snapshots
2. Para crear copias de seguridad de varios directorios
usuari@debian:~$ restic -r /path/to/backup backup /dir_1 /dir_2 etc....
3. Para restaurar copia de seguridad
usuari@debian:~$ restic -r /path/to/backup restore latest --target /dir_recuperar
4. Borrar repositorios para solo mantener X copias
nota: En este caso, como ejemplo, hemos puesto 6.
usuari@debian:~$ restic -r /path/to/backup forget --keep-last 6 prune
5. Borrar backups de más de 30 días
usuari@debian:~$ restic -r /path/to/backup forget --keep-within 30d
Ahora vendría la parte más interesante: cómo hacer uso de estas 3 aplicaciones para manejar nuestras copias de seguridad. Pero esto lo explicaré en el siguiente artículo, porque si no, este puede salir muy largo y volverse muy pesado.