Restic, una aplicación para hacer copias de seguridad de manera rápida

abril 04, 2018 , 0 Comments

about Restic

En el siguiente artículo vamos a echar un vistazo a Restic. Este es un programa para realizar copias de seguridad gratuitas y rápidas. Es un programa de código abierto, seguro y multiplataforma, escrito con el lenguaje de programación Go.

Restic encripta los datos con AES-256 y los autentica usando Poly1305-AES. Realizar copias de seguridad y posteriormente restaurar estos datos es realmente rápido y fácil. En este artículo vamos a ver como utilizar este programa en Ubuntu. Si alguien necesita más información que la que aquí se aporte, puede consultar la página web oficial.

Descargar Restic

Para instalar este programa en Ubuntu o Linux Mint no tendremos más que escribir en la terminal (Ctrl+Alt+T) los siguientes comando:

wget https://github.com/restic/restic/releases/download/v0.8.3/restic_0.8.3_linux_amd64.bz2 && bunzip2 restic_0.8.3_linux_amd64.bz2 && mv restic_0.8.3_linux_amd64 restic && sudo chmod +x restic

Ahora podremos utilizar el archivo restic para nuestras copias de seguridad.

Realizar una copia de seguridad y restauración de datos usando Restic

Podremos respaldar nuestros datos importantes en nuestro sistema local. El programa admite los siguientes back-ends para almacenar las copias de seguridad:

  1.  Directorio local
  2.   sftp server (via SSH)
  3.   HTTP REST Server
  4.   AWS S3
  5.   OpenStack Swift
  6.   BackBlaze B2
  7.   Microsoft Azure Blob Storage
  8.   Google Cloud Storage

En este artículo solo he cubierto cómo hacer una copia de seguridad y restaurar datos en un directorio local. Si alguien está interesado en otros métodos de copia de seguridad, puede hacer clic en el enlace respectivo.

Copia de seguridad de datos en el directorio local

Primero vamos a crear un repositorio para almacenar la copia de seguridad. Por ejemplo, voy a crear un repositorio llamado backup en mi directorio $HOME.

creación del repositorio para restic

./restic init --repo ~/backup

A continuación escribimos la contraseña para el repositorio. Debemos recordar la contraseña para acceder a este repositorio más adelante. De lo contrario, perderemos permanentemente los datos almacenados.

A continuación, haremos una copia de seguridad de nuestro datos en el repositorio escribiendo en la misma terminal:

copia de seguridad directorio restic

./restic -r ~/backup backup ~/Documentos

En este ejemplo voy a realizar una copia de seguridad de la carpeta ~/Documentos en el repositorio ~/backup.

Como se puede ver, se creó la copia de seguridad del directorio Documentos. Además, crea una instantánea de la copia de seguridad actual con un nombre único, 4c809a9c en este caso.

Manejar instantáneas

Si ejecutamos otra vez el comando anterior, se creará otra instantánea con un nombre único. Esta vez hará una copia de seguridad bastante más rápida que la copia de seguridad anterior. Podemos seguir agregando los datos en la carpeta y ejecutar la copia de seguridad para crear todas las instantáneas que necesitemos.

Para enumerar las instantáneas disponibles en un repositorio, ejecutaremos:

ver snapshots restic

./restic -r ~/backup snapshots

Como se puede ver, tengo 2 instantáneas, concretamente 4c809a9c y 5f59a8eb.

Para verificar la diferencia entre dos instantáneas escribiremos:

diferencias entre snapshots

./restic -r ~/backup diff 4c809a9c 5f59a8eb

Como ve, he agregado un nuevo archivo pdf en la copia de seguridad.

Copia de seguridad de archivos

No solo podremos hacer copias de seguridad de directorios enteros. También podremos hacer copias de seguridad de un solo archivo:

./restic -r ~/backup backup ~/Documentos/archivo.txt

Excluir archivos de la copia de seguridad

También es posible excluir algunos archivos o directorios. Por ejemplo, el siguiente comando excluirá todos los archivos de tipo .doc:

./restic -r ~/backup backup --exclude=*.doc ~/Documentos

Podremos colocar también todos los archivos y carpetas que queramos excluir de la copia de seguridad en un archivo y especificar su ruta en el comando de copia de seguridad.

Por ejemplo, crearemos un archivo llamado excluidos:

vi excluidos

Agregaremos los archivos o carpetas que queremos excluir:

*.txt
entreunosyceros.zip
Vídeos/Películas

Ahora, iniciaremos el proceso de copia de seguridad usando el comando:

./restic -r ~/backup backup --exclude-file=excluidos ~/Documentos

Para obtener más detalles sobre la copia de seguridad, podemos ejecutar:

restic backup help

./restic help backup

Restaurar datos usando Restic

Conociendo la instantánea con la que queremos trabajar, simplemente usaremos el siguiente comando para restaurar los datos de una instantánea:

./restic -r ~/backup restore 4c809a9c --target ~/Documentos

Acabamos de restaurar todos los datos de la instantánea 4c809a9c en el directorio ~/Documentos.

Para restaurar un único archivo desde la instantánea al directorio Documentos, escribiremos:

./restic -r ~/backup restore 4c809a9c --target ~/Documentos archivo.txt

Para obtener más detalles, podemos consultar la sección de ayuda sobre la restauración.

restic help restore

./restic help restore

Ver los datos sin restaurar

Es posible que no queramos restaurar los datos, sino verlos. Podremos explorar la copia de seguridad como un sistema de archivos normal. Primero, crearemos un punto de montaje:

mkdir montaje-copias

Después montaremos nuestro repositorio en el punto de montaje de montaje-copias escribiendo:

./restic -r ~/backup mount montaje-copias/

acceso a datos restic

Ahora, si abrimos nuestro administrador de archivos veremos que nuestro repositorio está montado y podremos explorarlo. Para obtener más detalles podemos consultar la ayuda:

./restic help mount

Esto es solo la punta del programa. Para obtener más información es recomendable consultar la documentación oficial de Restic para un uso más detallado.

El artículo Restic, una aplicación para hacer copias de seguridad de manera rápida ha sido originalmente publicado en Ubunlog.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.