Restic es un programa de copia de seguridad gratuito, rápido, de código abierto, seguro y multiplataforma, escrito con el lenguaje de programación Go. Restic encripta los datos con AES-256 en modo contador y los autentica usando Poly1305-AES. La copia de seguridad y restauración de datos con Restic es realmente rápido y fácil. En este tutorial, veremos cómo instalar Restic y cómo hacer una copia de seguridad y restaurar datos en Linux.

Instalación de Restic
Restic está disponible en AUR. Entonces, puedes instalarlo usando cualquier ayuda de AUR en sistemas basados en Arch.

Usando Pacaur:

$ pacaur -S restic-git

Packer:

$ packer -S restic-git

Trizen:

$ trizen -S restic-git

Yay:

$ yay -S restic-git

Yaourt:

$ pacaur -S restic-git

En Debian, Ubuntu, Linux Mint:

$ sudo apt-get install restic

En Nix OS:

$ nix-env --install restic

Usando Linuxbrew:

$ brew install restic

Para otros sistemas operativos, puedes compilar e instalar como se muestra a continuación. Primero, asegúrate de haber instalado el lenguaje Go en tu sistema.

Cómo instalar Go en Linux
Una vez que se instala Go, git clone restic:

$ git clone https://github.com/restic/restic

 

Este comando clonará todos los contenidos del repositorio de recursos en el directorio de trabajo actual en tu sistema.

Cd al directorio de Restic:

$ cd restic

E instala Restic como a continuación:

$ go run build.go

 

Copia de seguridad y restauración de datos usando Restic
Podemos respaldar nuestros datos importantes en nuestro sistema local, sin embargo, no es una verdadera estrategia de respaldo. Restic admite los siguientes back-ends para almacenar la copia de seguridad:

  1. Local directory
  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

 

Debido a la falta de recursos y tiempo, solo he cubierto cómo hacer una copia de seguridad y restaurar datos en un directorio local. Para aprender otros métodos de copia de seguridad, haz clic en el enlace respectivo dado arriba.

Copia de seguridad de datos en el directorio local utilizando Restic
Primero, creemos un repositorio para almacenar la copia de seguridad. Por ejemplo, voy a crear un repositorio llamado backup en mi directorio HOME.

$ restic init --repo ~/backup

Ingresa la contraseña para el repositorio dos veces. Debes recordar la contraseña para acceder a este repositorio más adelante. De lo contrario, perderás permanentemente los datos almacenados en el repositorio.

enter password for new repository: 
enter password again: 
created restic repository cbeb0c0585 at /home/sk/backup

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

A continuación, haz una copia de seguridad de tus datos en el repositorio:

$ restic -r ~/backup backup ~/mydata

Ingresa la contraseña de tu repositorio:

Salida:

enter password for repository: 
password is correct
scan [/home/sk/mydata]
scanned 1 directories, 3 files in 0:00
[0:00] 100.00% 90.272 KiB / 90.272 KiB 4 / 4 items 0 errors ETA 0:00 
duration: 0:00
snapshot 6eda7c7d saved

 

Aquí, estoy realizando una copia de seguridad de la carpeta ~ /mydata en el repositorio ~ /backup.

Como puedes ver, Restic creó la copia de seguridad del directorio dado, es decir mydata. Además, creé una instantánea de la copia de seguridad actual con un nombre único 6eda7c7d.

Si ejecutas nuevamente el comando anterior, Restic creará otra instantánea con un nombre único y 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 muchas instantáneas.

Para verificar la diferencia entre dos instantáneas, podemos usar la opción diff como se muestra a continuación

$ restic -r ~/backup diff 6eda7c7d b52d462b

Salida:

enter password for repository: 
password is correct
comparing snapshot 6eda7c7d to b52d462b:

+ /mydata/Country road.mp3

Files: 1 new, 0 removed, 0 changed
Dirs: 0 new, 0 removed
Others: 0 new, 0 removed
Data Blobs: 2 new, 0 removed
Tree Blobs: 1 new, 1 removed
 Added: 2.991 MiB
 Removed: 1.127 KiB

 

Como ves, he agregado un nuevo archivo mp3 en la copia de seguridad.

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

$ restic -r ~/backup snapshots
enter password for repository: 
password is correct
ID Date Host Tags Directory
----------------------------------------------------------------------
6eda7c7d 2018-03-02 18:16:48 sk /home/sk/mydata
b52d462b 2018-03-02 18:21:11 sk /home/sk/mydata
----------------------------------------------------------------------

Como puedes ver, tengo 2 instantáneas, concretamente 6eda7c7d y b52d462b.

No solo directorios enteros, también nos permite respaldar un solo archivo.

$ restic -r ~/backup backup ~/mydata/file.txt

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 ~/mydata

De forma alternativa, puedes colocar todos los archivos y carpetas que desees excluir de la copia de seguridad en un archivo y especificar su ruta en el comando de copia de seguridad.

Por ejemplo, crea un archivo llamado exclude:

$ vi exclude

Agrega los archivos o carpetas que deseas excluir:

*.txt
ostechnix.zip
mydata/movies

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

$ restic -r ~/backup backup --exclude-file=exclude ~/mydata

Para obtener más detalles sobre la copia de seguridad de Restic, ejecuta:

$ restic help backup

 

Ahora, hemos realizado una copia de seguridad de nuestros datos. A continuación, veremos cómo restaurar los datos de la copia de seguridad local.

Restaurar datos usando Restic
¡Restaurar datos es fácil! Simplemente usa el siguiente comando para restaurar los datos de una instantánea:

$ restic -r ~/backup restore b52d462b --target ~/mydata

Salida:

enter password for repository: 
password is correct
restoring <Snapshot b52d462b of [/home/sk/mydata] at 2018-03-02 18:21:11.244087232 +0530 IST by sk@sk> to /home/sk/mydata

 

Acabamos de restaurar los datos de la instantánea b52d462b a ~ /mydata.

Ya sabes cómo hacer una lista de las instantáneas disponibles, ¿verdad? Aquí es cómo enumeramos las instantáneas.

$ restic -r ~/backup snapshots

Para restaurar un único archivo desde la instantánea, hacemos:

$ restic -r ~/backup restore b52d462b --target ~/mydata file.txt

Para obtener más detalles, consulta la sección de ayuda de restauración.

$ restic help restore

Es posible que no desees restaurar los datos, sino verlos. Es fácil. Puedes explorar la copia de seguridad como un sistema de archivos normal. Primero, crea un punto de montaje:

$ mkdir ostechnix

Luego, monta tu repositorio en el punto de montaje de ostechnix como se muestra a continuación.

$ restic -r ~/backup mount ostechnix/

Ahora, abre tu administrador de archivos y verás que tu repositorio está montado. Puedes explorarlo de la misma manera que lo haces con tu sistema de archivos local.

Para obtener más detalles, consulta la sección de ayuda:

$ restic help mount

Eliminar instantáneas
Primero, enumera todas las instantáneas disponibles en un repositorio:

$ restic -r ~/backup snapshots
enter password for repository: 
password is correct
ID Date Host Tags Directory
----------------------------------------------------------------------
6eda7c7d 2018-03-02 18:16:48 sk /home/sk/mydata
b52d462b 2018-03-02 18:21:11 sk /home/sk/mydata
----------------------------------------------------------------------
2 snapshots

Para eliminar una instantánea, por ejemplo 6eda7c7d, ejecuta:

$ restic -r ~/backup forget 6eda7c7d
enter password for repository: 
password is correct
removed snapshot 6eda7c7d

Verifica si la instantánea se borró o no:

$ restic -r ~/backup snapshots
enter password for repository: 
password is correct
ID Date Host Tags Directory
----------------------------------------------------------------------
b52d462b 2018-03-02 18:21:11 sk /home/sk/mydata
----------------------------------------------------------------------
1 snapshots

La instantánea se ha borrado. Sin embargo, los datos a los que se hace referencia en los archivos de esta instantánea aún se almacenan en el repositorio. Para limpiar datos sin referencia, ejecuta:

$ restic -r ~/backup prune

Salida:

enter password for repository: 
password is correct
counting files in repo
building new index for repo
[0:00] 100.00% 4 / 4 packs
repository contains 4 packs (9 blobs) with 3.081 MiB
processed 9 blobs: 0 duplicate blobs, 0B duplicate
load all snapshots
find data that is still in use for 1 snapshots
[0:00] 100.00% 1 / 1 snapshots
found 7 of 9 data blobs still in use, removing 2 blobs
will remove 0 invalid files
will delete 1 packs and rewrite 0 packs, this frees 1.555 KiB
counting files in repo
[0:00] 100.00% 3 / 3 packs
finding old index files
saved new indexes as [75bbcda0]
remove 2 old index files
[0:00] 100.00% 1 / 1 packs deleted
done

 

Ahora sabes cómo instalar y usar el programa de respaldo de Restic para salvaguardar tus datos importantes. Solo hemos arañado la superficie. ¡Hay más! Te recomiendo que consultes la documentación oficial de Restic para un uso más detallado.

Fuente

(Visitada 1 veces, 1 visitas hoy )