Tutoriales

Cómo hacer una copia de seguridad y restaurar datos usando Restic en Linux

Esta guía explica qué es Restic, cómo instalar Restic en varias distribuciones de Linux y, finalmente, cómo hacer una copia de seguridad y restaurar datos usando Restic en sistemas operativos Linux.

Restic: una aplicación de respaldo rápida, segura y eficiente

Restic es un programa de copia de seguridad rápido, de código abierto, seguro y multiplataforma. Le permite guardar múltiples revisiones de archivos y
Directorios en un repositorio cifrado que se almacena en diferentes backends.

Restic utiliza criptografía para garantizar la confidencialidad e integridad de sus datos. Cifra los datos con AES-256 en modo contador y autenticarlo con Poli1305-AES Código de autenticación para mensajes criptográficos.

¡Hacer copias de seguridad y restaurar datos con Restic es fácil y muy rápido! Solo transfiere los archivos modificados (copia de seguridad incremental) al igual que Rsync.

Con Restic podemos hacer copias de seguridad de archivos y directorios fácilmente en un disco duro local o en un sistema remoto o almacenamiento en la nube. Restic admite backends de almacenamiento en la nube populares como AWS, Azure, BackBlaze, Google Cloud, OpenStack y algunos más.

Restic está escrito con caminar El lenguaje de programación y su código fuente están disponibles gratuitamente en GitHub. Es una aplicación de respaldo multiplataforma. Es compatible con GNU / Linux, macOS, FreeBSD, openBSD y Microsoft Windows.

Instalar Restic en Linux

Restic está empaquetado para los principales sistemas operativos Linux.

Instale Restic en Alpine Linux:

$ sudo apk add restic

Instale Restic en Arch Linux, EndeavorOS, Manjaro Linux:

Restic está disponible en los repositorios estándar de Arch Linux. Asegúrate de eso [Community] El repositorio está activado y también instalo Restic en Arch Linux y sus variantes como EndeavorOS, Manjaro Linux Pacman Como se muestra abajo.

$ sudo pacman -S restic

Instale Restic desde AUR:

Restic también está disponible en AUR. Para que pueda instalarlo con cualquier ayudante de AUR, como pulmón o Hurra, en sistemas basados ​​en Arch.

$ paru -S restic-git

O,

$ yay -S restic-git

¡Instale Restic en Debian, Ubuntu, Linux Mint, Pop_OS!:

$ sudo apt-get install restic

Instale Restic en Fedora:

$ sudo dnf install restic

Instale Restic en RHEL, CentOS, AlmaLinux y Rocky Linux:

$ sudo dnf copr enable copart/restic
$ sudo dnf install restic

Restic colocando el suelo;

$ sudo eopkg install restic

Instale Restic en Nix OS:

$ nix-env --install restic

Instale Restic en openSUSE:

$ sudo zypper install restic

Instale restic con Linuxbrew:

$ brew install restic

Instale Restic desde la fuente:

Para otros sistemas operativos, puede compilarlo e instalarlo como se describe a continuación. Primero, asegúrese de haber instalado caminar Idioma en su sistema.

Una vez que Go está instalado, git clone restic github repository:

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

Este comando clona todo el contenido del repositorio de Restic en el directorio de trabajo actual.

Cd en el directorio restic:

$ cd restic

E instale Restic de la siguiente manera:

$ go run build.go

Verifique la versión de Restic instalada:

$ restic version
restic 0.12.0 compiled with go1.14.12 on linux/amd64

Actualizar restic

Si instaló Restic desde repositorios oficiales, podría ser una versión un poco antigua.

Para actualizar Restic a la última versión, haga lo siguiente:

$ sudo restic self-update

Ahora verifique la versión con el comando:

$ restic version
restic 0.12.1 compiled with go1.16.6 on linux/amd64

Copia de seguridad y restauración de datos con Restic en Linux

Restic admite los siguientes backends para guardar la copia de seguridad:

  1. Directorio local,
  2. servidor sftp (a través de SSH),
  3. Servidor HTTP REST,
  4. AWS S3,
  5. OpenStack Swift,
  6. BackBlaze B2,
  7. Almacenamiento de blobs de Microsoft Azure,
  8. Google Cloud Storage,
  9. Y muchos otros servicios sobre el rclon.

Ahora veamos cómo hacer una copia de seguridad y restaurar datos en un directorio local.

Crea un nuevo repositorio local

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

$ restic init --repo ~/mybackup

Ingrese la contraseña del repositorio dos veces. Debe recordar la contraseña para acceder a este repositorio más tarde. De lo contrario, los datos almacenados en el repositorio se perderán de forma permanente. ¡Usted ha sido advertido!

enter password for new repository: 
enter password again: 
created restic repository c1c5bcfdb8 at /home/sk/mybackup

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
Crea un repositorio local con Restic

Como puede ver en el resultado anterior, hay un repositorio local de Restic con ID c1c5bcfdb8 será creado en /home/sk/mybackup Localización.

Ahora es el momento de hacer una copia de seguridad de sus datos en el repositorio recién creado.

Datos con Restic. guardar en un directorio local

Haré toda la copia de seguridad ~/mydata Directorio (incluido el directorio en sí) al repositorio ~/mybackup con comando:

$ restic -r ~/mybackup backup ~/mydata

Ingrese la contraseña de su repositorio:

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
no parent snapshot found, will read all files

Files:           7 new,     0 changed,     0 unmodified
Dirs:            4 new,     0 changed,     0 unmodified
Added to the repo: 21.919 MiB

processed 7 files, 21.913 MiB in 0:00
snapshot 7457d80e saved
Realice una copia de seguridad de un directorio con Restic.  en un repositorio local
Realice una copia de seguridad de un directorio con Restic. en un repositorio local

Como puede ver, restic creó la copia de seguridad del directorio especificado, es decir mis datos. También tomé una instantánea de la copia de seguridad actual con un nombre único. 7457d80e.

Analicemos el comando anterior y veamos qué hace cada opción.

  • restic : El comando Restic
  • -r : Muestra el repositorio
  • ~/mybackup : Nombre del repositorio
  • backup – Subcomando Restic para realizar copias de seguridad de archivos / carpetas
  • ~/mydata – El directorio del que se realizará la copia de seguridad.

Agregue más archivos / carpetas al directorio de respaldo. Por ejemplo, tengo un archivo nuevo llamado. agregado vi editor.pdf En ~/mydata Directorio. Ahora ejecute el mismo comando restic nuevamente:

$ restic -r ~/mybackup backup ~/mydata
enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
using parent snapshot 7457d80e

Files:           1 new,     0 changed,     7 unmodified
Dirs:            0 new,     3 changed,     1 unmodified
Added to the repo: 50.123 KiB

processed 8 files, 21.957 MiB in 0:00
snapshot 963d4de3 saved
Agregar nuevos datos al repositorio con Restic
Agregar nuevos datos al repositorio con Restic

Restic crea nuevas instantáneas con un nombre único cada vez que lo ejecutamos.

Dado que Restic realiza copias de seguridad incrementales, las copias de seguridad posteriores son bastante más rápidas que las copias de seguridad anteriores. Aún podemos agregar los datos en la carpeta de respaldo y ejecutar el respaldo para tomar muchas instantáneas.

Con Restic podemos hacer una copia de seguridad no solo de los directorios sino también de los archivos individuales.

$ restic -r ~/mybackup backup ~/mydata/vi editor.pdf 

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
no parent snapshot found, will read all files

Files:           1 new,     0 changed,     0 unmodified
Dirs:            3 new,     0 changed,     0 unmodified
Added to the repo: 47.129 KiB

processed 1 files, 45.139 KiB in 0:00
snapshot 59439d78 saved

Como puede ver, se está creando una nueva instantánea llamada 59439d78 en el repositorio.

Enumerar instantáneas

Para enumerar las instantáneas disponibles en un repositorio local, haga lo siguiente:

$ restic -r ~/mybackup snapshots

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
ID        Time                 Host        Tags        Paths
----------------------------------------------------------------------
7457d80e  2021-08-13 12:51:58  ostechnix               /home/sk/mydata
963d4de3  2021-08-13 12:57:55  ostechnix               /home/sk/mydata
----------------------------------------------------------------------
2 snapshots
Enumerar instantáneas

Como puede ver, tengo 2 instantáneas, a saber 7457d80e y 963d4de3.

Comprueba la diferencia entre dos instantáneas

Para comprobar la diferencia entre dos instantáneas podemos utilizar diferencia Opción de la siguiente manera:

$ restic -r ~/mybackup diff 7457d80e 963d4de3

Este comando compara las dos instantáneas especificadas y enumera las diferencias, es decir, qué archivos se agregan, cuántos archivos y directorios se eliminan del repositorio.

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
comparing snapshot 7457d80e to 963d4de3:

+    /home/sk/mydata/vi editor.pdf

Files:           1 new,     0 removed,     0 changed
Dirs:            0 new,     0 removed
Others:          0 new,     0 removed
Data Blobs:      1 new,     0 removed
Tree Blobs:      4 new,     4 removed
  Added:   50.123 KiB
  Removed: 4.511 KiB
Comprueba la diferencia entre dos instantáneas
Comprueba la diferencia entre dos instantáneas

Como puede ver, agregué un nuevo archivo PDF a la copia de seguridad.

Excluir archivos y carpetas

También es posible excluir algunos archivos o directorios. Por ejemplo, el siguiente comando excluye todos .Doc Archivos de tipo:

$ restic -r ~/mybackup backup --exclude=*.doc ~/mydata

Alternativamente, puede escribir la ubicación real de todos los archivos y carpetas que desea excluir de la copia de seguridad en un archivo y especificar su ruta en el comando de copia de seguridad.

Por ejemplo, cree un archivo llamado excluir:

$ vi exclude.txt

Agregue los archivos o carpetas que desea excluir:

*.txt
ostechnix.zip
mydata/movies

Ahora inicie el proceso de copia de seguridad con el comando:

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

Para más detalles sobre restic backup Comando, por favor ejecute:

$ restic help backup

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

Recuperando datos con Restic

¡Recuperar datos es fácil!

Primero, enumere las instantáneas disponibles del repositorio con el comando:

$ restic -r ~/mybackup snapshots

Por ejemplo, puede restaurar los datos de una instantánea específica 7457d80e, Correr:

$ restic -r ~/mybackup restore 7457d80e --target ~/mydata

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
restoring <Snapshot 7457d80e of [/home/sk/mydata] at 2021-08-13 12:51:58.592771333 +0530 IST by [email protected]> to /home/sk/mydata
Recuperando datos con Restic
Recuperando datos con Restic

Acabamos de restaurar los datos de la instantánea. 7457d80e para ~ / mis datos Directorio.

Para restaurar un solo archivo de la instantánea, haga lo siguiente:

$ restic -r ~/mybackup restore 7457d80e --target ~/mydata file.json

Puede encontrar más información en el restore Sección de ayuda de comandos.

$ restic help restore

Monte el repositorio para ver los datos de respaldo

Puede examinar la copia de seguridad como un sistema de archivos normal. Esto es útil cuando desea ver el contenido del repositorio.

Primero, crea un punto de montaje:

$ mkdir ostechnix

Luego monta tu repositorio osttechnix Monte el punto como se muestra a continuación.

$ restic -r ~/mybackup mount ostechnix/

Este comando monta el repositorio de Restic en su sistema de archivos local.

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
Now serving the repository at ostechnix/
When finished, quit with Ctrl-c or umount the mountpoint.

Ahora abra su administrador de archivos y verá que su repositorio está montado allí. Vaya a la carpeta Instantáneas y revise los datos.

Monte el repositorio de Restic en el sistema de archivos
Monte el repositorio de Restic en el sistema de archivos

Cuando termines, presiona Ctrl-c para finalizar o desmontar el punto de montaje del administrador de archivos.

Puede encontrar más información en la sección de ayuda:

$ restic help mount

Eliminar instantáneas

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

$ restic -r ~/mybackup snapshots
enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
ID        Time                 Host        Tags        Paths
----------------------------------------------------------------------
7457d80e  2021-08-13 12:51:58  ostechnix               /home/sk/mydata
963d4de3  2021-08-13 12:57:55  ostechnix               /home/sk/mydata
----------------------------------------------------------------------
2 snapshots

Por ejemplo, elimine una instantánea 963d4de3, Correr:

$ restic -r ~/mybackup forget 963d4de3

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
[0:00] 100.00%  1 / 1 files deleted

Compruebe si la instantánea se ha eliminado o no:

$ restic -r ~/mybackup snapshots
enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
ID        Time                 Host        Tags        Paths
----------------------------------------------------------------------
7457d80e  2021-08-13 12:51:58  ostechnix               /home/sk/mydata
----------------------------------------------------------------------
1 snapshots
Eliminar instantáneas con Restic
Eliminar instantáneas con Restic

¡La instantánea se ha ido! Sin embargo, los datos a los que se hace referencia en esta instantánea de archivos todavía se almacenan en el repositorio.

Para limpiar datos sin referencia, haga lo siguiente:

$ restic -r ~/mybackup prune

Salida de muestra:

enter password for repository: 
repository c1c5bcfd opened successfully, password is correct
loading indexes...
loading all snapshots...
finding data that is still in use for 1 snapshots
[0:00] 100.00%  1 / 1 snapshots
searching used packs...
collecting packs for deletion and repacking
[0:00] 100.00%  8 / 8 packs processed

to repack:            0 blobs / 0 B
this removes          0 blobs / 0 B
to delete:            5 blobs / 50.279 KiB
total prune:          5 blobs / 50.279 KiB
remaining:           25 blobs / 21.919 MiB
unused size after prune: 0 B (0.00% of remaining size)

rebuilding index
[0:00] 100.00%  6 / 6 packs processed
deleting obsolete index files
[0:00] 100.00%  3 / 3 files deleted
removing 2 old packs
[0:00] 100.00%  2 / 2 files deleted
done

Una vez que haya eliminado todas las instantáneas y sus datos asociados, puede eliminar el repositorio.

$ rm -fr ~/mybackup/

graduación

Ahora sabe cómo instalar y utilizar el programa de copia de seguridad Restic para proteger sus datos importantes. Solo cubrimos cómo usar Restic para realizar copias de seguridad de archivos y carpetas en un directorio local. ¡Hay más! En nuestros próximos tutoriales, veremos cómo hacer una copia de seguridad de los datos en un sistema remoto y almacenamiento en la nube.

También te recomiendo que mires esto Documentación oficial de Restic para un uso más preciso.

Recursos:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba