Proteja sus valiosos archivos y fotos irremplazables con el programa de respaldo restic. Es rápido, encriptado y puede usarlo de forma directa desde la línea de comandos de Linux. Aquí se explica cómo configurarlo.
El valor de las copias de seguridad
Todo el hardware dispone de una vida limitada. Mecánico Discos Duros (Discos duros) y discos de estado sólido (SSD) no duran de forma definitiva. Además ocurren accidentes. Las computadoras portátiles se pueden perder, robar o dejar caer por las escaleras.
Se solía decir que el valor de un sistema de copia de seguridad eficaz solo se aclara una vez que se han perdido los datos. Cuando ocurren fallas o pérdidas, necesita tener una manera rápida y fácil de recuperar sus archivos e información. Si una organización pierde datos, las implicaciones son graves. Inclusive podría poner en peligro la continuidad del negocio. Inclusive en un entorno doméstico, la pérdida de datos puede ser una experiencia dolorosa. Las copias de seguridad son las únicas salvaguardias sensatas.
Y al mismo tiempo de todo lo demás, la pérdida accidental o malintencionada de datos de identificación personal se considera una infracción según algunas leyes de protección de datos, como la Reglamento general de protección de datos (GDPR).
Hay un par de consideraciones a prestar atención al seleccionar un software de respaldo. ¿Dónde desea que se guarden sus copias de seguridad? En una unidad extraíble, en otra máquina a través de su Red de área local (LAN) o en almacenamiento en la nube? Por lo visto, necesita utilizar un programa de respaldo que pueda escribir y restaurar desde el almacenamiento de datos que desea utilizar.
Las copias de seguridad deben estar encriptadas, especialmente si se van a almacenar en ubicaciones fuera de las instalaciones o en la nube. Si están encriptados, no pueden ser leídos ni restaurados por personas no autorizadas.
El programa debe ser rápido. No desea esperar todo el día para que se complete una copia de seguridad o restauración. Algunos programas almacenan una imagen de copia de seguridad base y posteriormente almacenan las diferencias entre la imagen base y la máquina de origen para cada copia de seguridad posterior. Esto acelera considerablemente el procedimiento de copia de seguridad. Además utiliza menos espacio para sus copias de seguridad.
restic hace todo esto. Es sin costes, open source, con licencia de 2-Clausula Licencia BSDy en desarrollo activo. El código fuente está activado GitHub.
Dónde respaldar
En este post, almacenaremos nuestras copias de seguridad en otra computadora de nuestra red. Eso es genial, debido a que proporciona transferencias de archivos rápidas y es fácil realizar copias de seguridad y restaurar desde. En un escenario del mundo real, además es necesario realizar una copia de seguridad en otra ubicación fuera del sitio. Si sus sistemas en vivo y sus copias de seguridad están en la misma ubicación y ocurre un desastre en esa ubicación (un incendio, un robo o una inundación), su gallina se cocinará a menos que tenga una copia de seguridad fuera de las instalaciones.
Como podíamos esperar, restic puede realizar una copia de seguridad en una unidad externa que se puede quitar de las instalaciones y, mejor aún, puede realizar una copia de seguridad de forma directa en el almacenamiento en la nube.
Fuera de la caja, inquieto puede hacer una copia de seguridad a:
- Un directorio local o una unidad extraíble local.
- Una computadora en red a través de Protocolo de transferencia de archivos SSH (SFTP). Esto, decididamente, necesita Cubierta segura (SSH).
- Servidor HTTP REST.
- AWS S3.
- OpenStack Swift.
- BackBlaze B2.
- Almacenamiento de blobs de Microsoft Azure.
- Almacenamiento en la nube de Google.
Si necesita realizar una copia de seguridad en un destino de datos que no está en esa lista, puedes combinar el poder de rclone con restic y retrocede a cualquiera de los 40 más o menos destinos que admite rclone.
Las copias de seguridad de la red SFTP requieren que SSH esté instalado y configurado en el servidor de copia de seguridad. Esta es la máquina en la que se almacenarán las copias de seguridad. Si configura claves SSH en el servidor de respaldo y la máquina de la que va a respaldar, no se le pedirá la contraseña SSH cada vez que ejecute un respaldo.
Una forma de automatizar sus copias de seguridad es crear scripts cortos o funciones de shell y use cron para ejecutarlos en momentos específicos. El uso de claves SSH le permitirá evitar el problema de proporcionar una contraseña para las copias de seguridad desatendidas.
RELACIONADO: Cómo crear e instalar claves SSH desde el Shell de Linux
Instalación de restic
La aplicación restic se encuentra en los repositorios de las principales distribuciones de Linux, por lo que instalarla es una simple línea usando el administrador de paquetes de cada distribución.
Para instalar restic en Ubuntu, escriba:
sudo apt install restic
El comando para utilizar en Fedora es:
sudo dnf install restic
En Manjaro usamos pacman
:
sudo pacman -Sy restic
Configurando restic
Asegúrese de tener SSH configurado en la máquina del servidor de respaldo y de que puede realizar una conexión remota desde la máquina que va a respaldar. Esa es la máquina cliente. En nuestra red de prueba, el cliente se llama «ubuntu-20-10» y el servidor se llama «caja de respaldo».
En la terminología de restic, las copias de seguridad se almacenan como instantáneas en un repositorio. Cada copia de seguridad crea una nueva instantánea. Necesitamos crear un lugar para el repositorio en el servidor.
Necesitamos crear un directorio en el servidor de respaldo para albergar el repositorio. Históricamente, los servicios que prestaba un servidor se ubicaban en el directorio «/ srv». Por lo tanto colocaremos nuestro repositorio allí.
En el servidor de respaldo, emita este comando. Puede nombrar el directorio del repositorio como desee. Estamos usando el nombre «restic» en aras de la simplicidad.
sudo mkdir /srv/restic
Necesitamos asegurarnos de que este directorio sea alcanzable para la persona que manejará las copias de seguridad. Si fueran varias personas, tendría sentido crear un grupo de usuarios y darle acceso al directorio.
sudo chown dave:dave /srv/restic
Comprobemos la configuración en el directorio:
ls -hl /srv
Ahora podemos movernos a la máquina cliente y crear el repositorio en el servidor desde allí. Sustituya el nombre de su usuario, el nombre del servidor de respaldo y el nombre del directorio del repositorio para que coincida con sus opciones. Puedes utilizar el dirección IP del servidor de respaldo si lo prefiere.
Estamos usando el -r
(repositorio) para especificar la ruta al repositorio que vamos a crear. El restico init
comando inicializa el repositorio.
restic -r sftp:[email protected]:/srv/restic init
Se le pedirá la contraseña de la cuenta de usuario en el servidor de respaldo. Si ha configurado claves SSH entre el servidor y el cliente, no necesitará realizar este paso.
Además se le pedirá la contraseña del repositorio y posteriormente se le pedirá que la confirme. Esta contraseña debe usarse para interactuar con el repositorio en el futuro. ¡No lo pierda! No podrá realizar una copia de seguridad o restaurar los datos si pierde la contraseña.
Solo toma un momento crear e inicializar el repositorio.
Crear una copia de seguridad
Crear una copia de seguridad es muy fácil. Usamos el backup
comando con restic, dígale de qué queremos hacer una copia de seguridad y a qué repositorio enviar la copia de seguridad.
restic backup Documents/kernel/ -r sftp:[email protected]:/srv/restic
Debe proporcionar la contraseña del usuario y la contraseña del repositorio. Mientras se ejecuta la copia de seguridad, se muestran los nombres de los archivos que se están copiando, junto con estadísticas que le indican cuántos archivos se copiarán en total, cuántos se han copiado hasta ahora y qué porcentaje de la copia de seguridad está completa. Las instantáneas se cifran a través de el estándar de cifrado avanzado AES-256.
Debido a que esta fue la primera copia de seguridad en este repositorio, todos los archivos de los que se hizo una copia de seguridad eran nuevos. Dijimos que restic era rápido: se hicieron copias de seguridad de más de 70.000 archivos en 23 segundos. Ese es todo el código fuente del kernel de Linux.
En otra máquina de prueba, hice una copia de seguridad de más de 350.000 archivos que suman más de 170 Gibraltar en una hora y media.
Creé un nuevo archivo en el cliente en el directorio de origen y ejecuté otra copia de seguridad. El comando es el mismo que antes.
restic backup Documents/kernel/ -r sftp:[email protected]:/srv/restic
Se analizó el árbol del directorio de origen en busca de cambios, se detectó el nuevo archivo y se hizo una copia de seguridad. Esa segunda pequeña copia de seguridad tardó tres segundos en completarse, incluido el escaneo de los otros archivos en busca de cambios.
Echemos un vistazo a las dos instantáneas que tenemos en el repositorio. El comando restic para esto es snapshots
.
restic -r sftp:[email protected]:/srv/restic snapshots
A cada instantánea se le ha asignado un identificador hexadecimal como una identificación única. Se muestran la fecha y la hora en que se creó cada instantánea. Además se muestra el nombre de la computadora desde la que se realizó la copia de seguridad y la ruta a los datos de los que se realizó la copia de seguridad.
Después creé un segundo archivo nuevo y creé otra copia de seguridad. Nuevamente, la línea de comando es la misma que antes.
Del mismo modo que con nuestra copia de seguridad de recarga anterior, esta pequeña actualización tardó tres segundos en completarse.
A estas alturas, probablemente esté cansado de ingresar la contraseña del repositorio. Podemos abordar eso antes de utilizar el snapshots
comando para ver nuestra colección de tres instantáneas. Abra un editor y escriba la contraseña del repositorio en él, posteriormente presione «Enter» para comenzar una nueva línea. Guarde el archivo como «.rest_pass» en su directorio personal.
Para asegurarse de que nadie más pueda ver la contraseña, cambiar los bits del modo de acceso del archivo usando chmod
:
chmod 600 .rest_pass
Esto significa que nadie más que usted puede ingresar al archivo.
Ahora podemos pasar esto al resto de la línea de comando usando el -p
(archivo de contraseña). Si además ha configurado claves SSH entre el cliente y el servidor, tampoco tendrá que ingresar la contraseña de la cuenta de usuario. Puede automatizar fácilmente sus copias de seguridad con cron
una vez que la interacción humana se ha eliminado del procedimiento.
restic snapshots -r sftp:[email protected]:/srv/restic -p .rest_pass
Ya no se nos pide la contraseña del repositorio, lo cual es genial. No necesitamos recordarlo y no podemos escribirlo mal.
Trabajar con instantáneas
El restico diff
El comando le posibilita ver las diferencias entre dos instantáneas. Utilice los ID únicos de las dos instantáneas que desea comparar. Puede ver los ID de las instantáneas cuando utiliza el restic snapshot
mando.
restic diff -r sftp:[email protected]:/srv/restic -p .rest_pass 8f98cd29 8700e4bf
Las diferencias entre las instantáneas se muestran como columnas de estadísticas.
El restico check
El comando realiza una prueba de verificación con todas las instantáneas del repositorio.
restic check -r sftp:[email protected]:/srv/restic -p .rest_pass
Para borrar una instantánea, debe decirle a restic que forget
eso y para prune
eso. Debe usar el ID exclusivo de la instantánea para identificar qué instantánea borrar.
restic forget --prune -r sftp:[email protected]:/srv/restic -p .rest_pass e506e089
Restaurando datos
Cuando llega el momento de restaurar los datos de sus copias de seguridad, es tan simple como crear la copia de seguridad. Debe especificar qué instantánea va a restaurar. Puede utilizar el ID único de una instantánea o puede utilizar el latest
etiqueta para utilizar la instantánea más reciente en el repositorio.
Además debe proporcionar un directorio para que los datos restaurados se copien usando el target
opción.
restic restore latest --target ~/restored-data -r sftp:[email protected]:/srv/restic -p .rest_pass
Restaurar es tan rápido como retroceder. Comprobando en el directorio de destino, podemos ver que el árbol de directorios y los archivos se han restaurado para nosotros.
ls
Haga copias de seguridad, duerma tranquilo
La pérdida de datos es un obstáculo grave. Una solución de copia de seguridad sólida significa que dispone de una cosa menos de la que preocuparse. Con restic, puede automatizar sus copias de seguridad en repositorios locales y en la nube y dormir tranquilo.