Qué es Restic
Restic es una herramienta de backup escrita en Go, distribuida como un único binario y pensada para ser rápida, segura y portable. Al igual que Borg utiliza deduplicación basada en bloques y cifrado de extremo a extremo, pero tiene una ventaja clave: habla de forma nativa con casi cualquier destino de almacenamiento en la nube, sin que necesites montarlo ni intermediar con herramientas externas.
Destinos soportados
Restic puede escribir directamente a carpetas locales, SFTP/SSH, S3 y compatibles (Wasabi, Backblaze B2 vía interfaz S3, MinIO, Scaleway), Google Cloud Storage, Azure Blob, Backblaze B2 nativo, OpenStack Swift, y a cualquier destino accesible por rclone. Esa flexibilidad lo vuelve muy práctico para laboratorios y empresas que no quieren atarse a un único proveedor.
Instalación
En Debian y Ubuntu:
apt update && apt install restic
Si necesitas la última versión puedes descargar el binario oficial desde el repositorio del proyecto y colocarlo en /usr/local/bin/restic.
Inicializar el repositorio
Supongamos que vas a usar un bucket S3. Defines las credenciales y lanzas el init:
export AWS_ACCESS_KEY_ID=$TU_KEY
export AWS_SECRET_ACCESS_KEY=$TU_SECRET
restic -r s3:https://s3.ejemplo.com/oxira-backups init
Restic te pedirá una passphrase. Sin esa passphrase nadie, ni tú, puede leer tus datos.
Crear un backup
restic -r s3:https://s3.ejemplo.com/oxira-backups backup /var/www /etc /var/lib/mysql-dumps
Restic toma un snapshot, sube los bloques nuevos y devuelve un identificador. Las ejecuciones siguientes solo transfieren lo que cambió.
Trabajar con snapshots
Para listar snapshots del repositorio:
restic -r s3:https://s3.ejemplo.com/oxira-backups snapshots
Para ver el contenido de uno:
restic -r s3:https://s3.ejemplo.com/oxira-backups ls latest
Restaurar archivos
Restaurar todo el snapshot más reciente a una carpeta:
restic -r s3:https://s3.ejemplo.com/oxira-backups restore latest --target /tmp/restore
Restaurar solo una ruta específica:
restic -r s3:https://s3.ejemplo.com/oxira-backups restore latest --target /tmp/restore --include /var/www/html
Uso con rclone como transporte
Para destinos que Restic no soporta de fábrica (por ejemplo Dropbox, OneDrive o Mega), puedes apoyarte en rclone:
rclone config # define un remote llamado, por ejemplo, "cloud"
restic -r rclone:cloud:oxira-backups init
Desde ese momento, Restic usa rclone como puente y sigue funcionando con el mismo conjunto de comandos. Es una técnica muy usada cuando quieres combinar la deduplicación de Restic con proveedores que no hablan S3.
Retención y mantenimiento
Restic también tiene políticas de retención:
restic -r s3:https://s3.ejemplo.com/oxira-backups forget \
--keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
El flag --prune recupera el espacio real eliminando bloques que ya no pertenecen a ningún snapshot.
Cuándo elegir Restic
Restic brilla cuando quieres un único binario portable, destinos variados en la nube y una curva de aprendizaje suave. Borg suele ganar en entornos puramente SSH con alta intensidad de datos, pero Restic es una opción excelente si buscas moverte con agilidad entre proveedores.