Restic, una excelente herramienta para backups con soporte de versionado y nube
Para quienes estén en busca de una solución para poder realizar backups (copias de seguridad), en este artículo hablaremos sobre una excelente herramienta llamada «restic» y la cual recientemente recibió una nueva actualización.
Restic es un sistema de copia de seguridad que proporciona un conjunto de herramientas para almacenar copias de seguridad en un repositorio versionado que se puede alojar en servidores externos y en almacenamientos en la nube.
Sobre Restic
Los datos en restic se almacenan en forma encriptada, ademas de que el usuario puede definir reglas flexibles para incluir y excluir archivos y directorios al crear una copia de seguridad.
Cuenta con soporte para almacenar copias de seguridad en un sistema de archivos local, en un servidor externo con acceso vía SFTP/SSH o HTTP REST, en las nubes de Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage y Google Cloud Storage, así como en cualquier almacenamiento para el que haya backends de rclone.
También se puede usar un servidor de descanso especial para organizar el almacenamiento, lo que brinda un mayor rendimiento en comparación con otros backends y puede funcionar en un modo de solo adición que no le permitirá eliminar o cambiar las copias de seguridad en caso de que el servidor de origen esté comprometido y acceda al cifrado.
Otro de los puntos positivos de restic es que cuenta con soporte para definir reglas flexibles para excluir archivos y directorios al crear copias de seguridad (por ejemplo, para excluir registros, archivos temporales y datos fácilmente reproducibles de la copia de seguridad). El formato de las reglas de ignorar es familiar y se parece a rsync o gitignore.
Restic es fácil de instalar, usar y recuperar información, ademas de que vale la pena mencionar que es multiplataforma (Linux, macOS, Windows, FreeBSD y OpenBSD).
Para trabajar con copias de seguridad, basta con copiar un archivo ejecutable que se puede usar sin configuraciones adicionales. Se proporciona un ensamblado repetible para el propio archivo ejecutable, lo que permite verificar de forma independiente que el ensamblado binario se forma a partir de los textos de origen proporcionados.
Se admiten instantáneas, que reflejan el estado de un directorio en particular con todos los archivos y subdirectorios en un momento determinado. Cada vez que se crea una nueva copia de seguridad, se crea una instantánea asociada a ella, lo que le permite restaurar el estado actual. Es posible copiar instantáneas entre diferentes repositorios.
Para ahorrar tráfico, solo se copian los datos modificados durante el proceso de copia de seguridad. Para garantizar un almacenamiento eficiente, los datos del repositorio no se duplican y las instantáneas adicionales cubren solo los datos modificados.
El sistema no manipula archivos completos, sino bloques de tamaño flotante seleccionados mediante la firma de Rabin . La información se almacena en asociación con el contenido, no con los nombres de los archivos (los nombres y las entidades asociadas con los datos se definen en el nivel de metadatos del bloque). Según el hash SHA-256 del contenido, se realiza la deduplicación y se excluye la copia innecesaria de datos.
Para evaluar visualmente el contenido del repositorio y simplificar la recuperación, se puede montar una instantánea con una copia de seguridad en forma de partición virtual (montada con FUSE). También proporciona comandos para analizar cambios y extraer archivos de forma selectiva.
La información en los servidores externos se almacena en forma encriptada (SHA-256 se usa para sumas de verificación , AES-256-CTR para encriptación y códigos de autenticación basados en Poly1305-AES para garantizar la integridad). El sistema se diseñó originalmente para garantizar que las copias de seguridad se almacenen en entornos no confiables y que una copia de seguridad que caiga en las manos equivocadas no comprometa el sistema. El cifrado se puede proporcionar tanto mediante claves de acceso como mediante contraseñas.
Es posible verificar la copia de seguridad mediante sumas de verificación y códigos de autenticación para confirmar que no se viola la integridad de los archivos y que los archivos necesarios se pueden restaurar y no incluyen modificaciones ocultas.
¿Como instalar Restic en Linux?
Para los que estén interesados en poder instalar esta herramienta, tal y como se mencionó más arriba, su proceso de instalación es relativamente sencillo, ya que la utilidad está dentro de la mayoría de los repositorios de las principales distribuciones de Linux.
Por ejemplo, para instalar Restic en Ubuntu, Debian o derivados, basta con abrir una terminal y en ella teclear:
sudo apt-get install restic
Para el caso de los que son usuarios de Arch Linux, Manjaro o cualquier otro derivado:
sudo pacman -S restic
En el caso de usuarios de Fedora:
sudo dnf install restic
O en el caso de Red Hat o CentOS y derivados o basados en estos:
sudo dnf install epel-release sudo dnf install restic
Mientras que para openSUSE:
sudo zypper install restic
Para los que son usuarios de Solus
eopkg install restic
Finalmente para los que estén interesados en poder conocer más al respecto y tambien en consultar su modo de uso, pueden consultar los detalles en el siguiente enlace.