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.
Tabla de Contenidos
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:
- Directorio local,
- servidor sftp (a través de SSH),
- Servidor HTTP REST,
- AWS S3,
- OpenStack Swift,
- BackBlaze B2,
- Almacenamiento de blobs de Microsoft Azure,
- Google Cloud Storage,
- 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.
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
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 repositoriobackup
– 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
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
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
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
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.
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
¡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: