Tabla de Contenidos
Hoy estaba limpiando algunos archivos viejos en mi computadora personal y encontré mi script de configuración de respaldos locales. Lo configuré hace más de un año usando restic y Backblaze B2 para almacenamiento en la nube.
- Restic es un programa de respaldo rápido y seguro para Linux que utiliza cifrado y deduplicación para crear instantáneas eficientes de tus archivos en almacenamiento local o remoto.
- Backblaze B2 es un servicio de almacenamiento en la nube compatible con S3 diseñado para respaldos y archivos, ofrece almacenamiento más económico que AWS o Google Cloud.
Soy creyente de la mentalidad de configurar una vez y olvidar. El script respalda archivos y directorios seleccionados de mi computadora al almacenamiento en la nube B2 cada 2 semanas y me envía una notificación una vez que la operación de respaldo se completa y las verificaciones de restic pasan. Cada 6 meses aproximadamente le echo un vistazo para asegurarme de que los respaldos estén realmente ahí y funcionando.
Por suerte nunca he tenido que hacer una restauración completa, pero la configuración funciona y no me preocupa perder mis cosas si mi disco duro muere mañana. Esto es solo para mi computadora principal, nada relacionado con servidores. Solo archivos personales que me molestaría perder.
¿Por Qué Restic y B2?
Sí, podría usar OneDrive de Microsoft, Google Drive, Dropbox, etc. pero no me gustan sus prácticas de privacidad y el hecho de que están constantemente ejecutándose. Solo necesito una solución de respaldo automatizada simple con una huella mínima en mi máquina.

Restic cifra todo con AES-256, deduplica datos automáticamente y funciona con básicamente cualquier backend de almacenamiento.
Backblaze B2 es, creo yo, la opción de almacenamiento en la nube más económica (comparado con Cloudflare R2, AWS S3 o Google Cloud) y es bastante confiable. Confío en el equipo de Backblaze. Para respaldos personales donde con suerte nunca estaré descargando nada, esto funciona genial. Las primeras 3 veces tu almacenamiento es gratis para descargas, luego son $0.01/GB después de eso.
Además B2 es compatible con S3, lo que significa que si alguna vez quiero cambiar a Cloudflare R2 o lo que sea, solo cambio la URL del repositorio. Mismo script, diferente backend (no estoy atado a ningún proveedor).

La Configuración
La configuración es solo un shell script que verifica que existan los archivos de configuración, carga las credenciales y verifica que el respaldo se haya hecho correctamente ejecutando restic check al final.
Script: restic-backup.sh
¿Qué Se Respalda?
Los archivos de configuración especifican qué directorios deben respaldarse y qué patrones deben excluirse. Si necesito modificar las rutas de respaldo existentes solo edito el archivo.
# Archivo de configuración de rutas de respaldo de ejemplo
~/Documents
~/Pictures
~/.ssh
Gestión de Secretos
Los secretos (llaves API de B2 y contraseña del repositorio de restic) se almacenan en un archivo con permisos 0600, por lo que solo mi usuario local tiene acceso a él. Esta no es la forma más segura de manejar secretos, pero he sido perezoso para migrar a una opción más segura.
# Secretos de ejemplo
B2_ACCOUNT_ID="0123456789abcdef01234567"
B2_ACCOUNT_KEY="K001aBcDeFgHiJkLmNoPqRsTuVwXyZ"
RESTIC_REPOSITORY="b2:my-backup-bucket:restic"
Automatización
Systemd hace las cosas fáciles. Solo creé una unidad .service para ejecutar el script y una unidad .timer para ejecutar el servicio a intervalos regulares.
El servicio se ejecuta como mi cuenta de usuario regular así que no se necesita acceso root, pero puedes ejecutarlo como root si es necesario.
OnCalendar=*-*-01,15 02:30:00
Persistent=true
RandomizedDelaySec=30min
Una vez que el servicio se ejecuta, tengo un binario personalizado que me notifica por Signal los detalles del respaldo y el estado de ejecución. Esto es opcional, pero un paso conveniente. También puedes ver la salida en el journal de systemd.
Salida
La salida resultante se ve algo así
=============================================
RESPALDO EXITOSO
=============================================
Timestamp: 2026-01-12 01:26:01
Repository: b2:MyBucket:repo_dir
Source Dirs: /home/user/.bashrc.d/ /home/user/Backup/
-------------- Resumen de Restic ---------------
Files: 0 nuevos, 1 modificado, 12831 sin modificar
Dirs: 0 nuevos, 4 modificados, 4701 sin modificar
Data Added: 180KiB
Total Processed: 232MiB
Duration: 0m 6s
Snapshot ID: e6011222
---------------------------------------------
Verificando integridad del respaldo...
✓ Verificación del respaldo exitosa
¿Por Qué Esto?
Este no es el mejor sistema de gestión de respaldos pero no necesito interfaces web, GUI, sincronización entre dispositivos, ni muchas otras características. Respaldar una sola computadora principal debería ser simple, con dependencias mínimas e invisible. Esto tiene todo eso, incluso si hay opciones más seguras y con más características disponibles.
¿Migraría a otra solución de respaldo? En el futuro, sí. La seguridad de los secretos necesita mejorar y algunas características de calidad de vida serían buenas, con suerte puedo hacer tiempo para mejorar el script. Espero no olvidarme.