Una historia sobre backups, “Borg, la resistencia es inútil”. Parte 3

By on

Introducción

Hace unos días en mi meditado repaso de twitter matinal leía que sólo existen dos tipos de personas:

  • Aquellos que hacen Backup.
  • Aquellos que harán Backup.

En esta serie de posts sobre herramientas de Backup os he ido presentando, mezcladas entre distintas criaturas fantásticas, utilidades que os permitirán pertenecer al selecto club del primer grupo.

Hoy os traigo, con su criatura fantástica de rigor, una herramienta llamada BorgBackup, simplificado Borg. Se trata de un software de Backup con deduplicación, cifrado y compresión de datos.

Las principales características de Borg son:

  • Uso eficiente del espacio. Gracias a la deduplicación el espacio usado por los trabajos de copia se reduce.
  • Velocidad. El código fuente que se encarga de la deduplicación, compresión y cifrado está escrito en C.
  • Cifrado. Toda la información se puede cifrar mediante AES 256-bit, la integridad de la información es verificada mediante HMAC-SHA256 y el cifrado se realiza en el lado del cliente.
  • Compresión. Los datos pueden ser comprimidos opcionalmente mediante lz4, zstd, zlib o lzma.
  • Backup Off-site. Borg puede guardar tus backups en cualquier máquina que soporte el protocolo ssh.
  • Los repositorios de backup pueden ser montados como sistemas de ficheros.
  • Fácil instalación en multitud de plataformas.
  • Es una utilidad Open Source con licencia BSD.

Borg trabaja con repositorios de una forma parecida a la herramienta Restic que vimos en el primer post.

Guía rápida de uso

Una vez instalada la herramienta en nuestro sistema tendremos que dar de alta un repositorio para almacenar nuestros Backups, en este caso daremos de alta un repositorio local alojado en el directorio /srv/backups que almacenará el contenido de nuestro directorio /home.
Como veis el repositorio ha quedado inicializado y nos solicita una contraseña para protegerlo, también nos recomienda guardar la clave privada con el que ha sido cifrado, ¡no seáis confiados con ésto! y guardadla a buen recaudo, ya sea su versión digital o impresa (borg key export repo_path path/file.key ó borg key export repo_path --paper).
Una vez inicializado el repositorio, que contendrá nuestros Backups, es hora de sacar el mandil y ponernos manos a la obra. Como ejemplo, haremos un Backup llamado “Jueves” y guardaremos el contenido del directorio /home/fjfunes/documents.

Como veis, es fácil realizar un Backup de un directorio. Aunque, en este caso, el repositorio sea local también podríamos utilizar un repositorio remoto mediante ssh utilizando la siguiente sintaxis al inicializarlo: borg init --encryption=repokey ssh://user@host:path/to/repo.

Automatizando Borg

Ahora que sabemos utilizar Borg para un uso manual, llega la parte trepidante, automatizarlo para que nos sea sumamente útil. Recordad: Los Backups que no se programan, acaban por no hacerse.
Crearemos un script bash que contenga lo siguiente:

Ahora, sólo tendríamos que agregar el fichero a nuestro cron, a la hora deseada para tener un sistema de Backup basado en la herramienta Borg.

Criaturas fantásticas

Os estaréis preguntando ¿dónde está en el post de la criatura fantástica, la gran ballena blanca asesina o el despiadado vampiro?.
Cuando planeaba esta serie de posts sobre herramientas de Backup y elegí entre la infinidad de opciones posibles, no me paré a revisar qué historia había detrás de Borg. Hace unos días, documentando el post, me encontré con que los Borg son un personaje del Universo Star Trek y el nombre viene de contraer la palabra “CyBorg”.
Los Borg son una especie de civilización humanoide que combinan lo sintético con lo orgánico, lo que les da mejores capacidades mentales y físicas. Todos los Borg están conectados a través de su mente formando una colmena que es controlada por la Reina Borg. De esta forma, cuando un Borg muere, el resto de Borgs asumen sus conocimientos. Esto hace que puedan terminar el trabajo que estaban haciendo sin empezar de nuevo, convirtiéndolos en una especie sumamente eficientes a la hora de atacar o defenderse de un ataque. El cometido principal de los Borg es asimilar especies, incorporando en sí mismos las características de estas, para mejorar la calidad de la vida en el universo. Tras conocer un poco acerca de los Borg sólo me queda contaros que los creadores de la herramienta Borg se llaman así mismos “Colectivo Borg” como los integrantes de esta civilización que aparece en Star Trek.
Una frase utilizada por estas criaturas y que da título a este post:
Somos los Borg. Bajen sus escudos y rindan sus naves. Sumaremos sus características biológicas y tecnológicas a las nuestras. Su cultura se adaptará para servirnos. La resistencia es inútil“.
Ya sabes, ¡no te resistas!, haz Backups y hoy, al menos, ¡hazlos con Borg!.