Hetzner Storage Box como backend de backups: configuración completa
- hetzner
- storage box
- rsync
- backup
- ssh
- infraestructura
Por qué usar Hetzner Storage Box para backups externos
Tener backups en el mismo servidor que el origen de los datos es un error que se paga caro. Un fallo de disco, un ataque o una mala configuración puede borrarlo todo. Por eso, mi regla es que los backups deben vivir fuera del sistema principal.
El Hetzner Storage Box es una solución económica y fiable para esto. Ofrece almacenamiento SSH, rsync y FTP, lo que lo convierte en un candidato ideal para guardar copias de seguridad de forma remota, sin la complejidad de S3 o soluciones de objetos más caras.
Configuración inicial del Storage Box
Primero, necesitas activar el acceso SSH en tu Storage Box desde el panel de Hetzner. Una vez activado, te proporcionarán un usuario y contraseña, y una clave pública de host. No uses esa contraseña para rsync — configura una clave SSH.
Desde tu VPS, genera un par de claves SSH si no lo tienes:
ssh-keygen -t ed25519 -f ~/.ssh/id_storagebox_rsync -C "storagebox_backup"
Luego, añade el contenido de ~/.ssh/id_storagebox_rsync.pub al archivo ~/.ssh/authorized_keys de tu usuario en el Storage Box. Esto se hace desde el panel de Hetzner, en la sección de “SSH keys” de tu Storage Box. Para una buena práctica, tengo un artículo sobre cómo configurar claves SSH en tu VPS.
Ejecutando rsync para la primera copia
Con el acceso SSH configurado, puedes empezar a copiar tus datos. La sintaxis básica de rsync es sencilla, pero hay opciones importantes para backups.
Por ejemplo, para copiar el contenido de /var/www/mi-app a un directorio mi-app-backups en tu Storage Box:
rsync -avz --delete-after -e "ssh -i ~/.ssh/id_storagebox_rsync -p 23" /var/www/mi-app/ [email protected]:./mi-app-backups/
Aquí, -avz mantiene permisos, tiempos y comprime. --delete-after borra archivos en destino que ya no están en origen después de la transferencia, evitando inconsistencias durante la copia. El puerto SSH para el Storage Box suele ser el 23.
Automatizando los backups con cron
Para que los backups sean realmente útiles, deben ser automáticos. Un cron job es la herramienta perfecta para esto. Crea un script ejecutable, por ejemplo /usr/local/bin/backup_mi_app.sh, con el comando rsync.
Asegúrate de que el script tenga los permisos correctos (chmod +x /usr/local/bin/backup_mi_app.sh). Luego, edita tu crontab (crontab -e) y añade una línea como esta para ejecutarlo cada noche a las 3 AM:
0 3 * * * /usr/local/bin/backup_mi_app.sh > /var/log/backup_mi_app.log 2>&1
Redirigir la salida a un log es clave para revisar errores. Si los cron jobs te dan problemas, tengo una guía sobre errores comunes en cron jobs en VPS.
Consideraciones al usar Hetzner Storage Box para backups
Lo que ganas:
- Redundancia externa: Los backups están fuera de tu VPS, protegidos de fallos del servidor principal.
- Costo-efectividad: Hetzner Storage Box es una de las soluciones más baratas por GB para almacenamiento remoto.
- Control total: Usas
rsyncdirectamente, lo que permite configuraciones muy específicas (backups incrementales, exclusiones, etc.).
Lo que complicas:
- Configuración inicial: Requiere conocimientos básicos de SSH y
rsync. No es un “botón de backup”. - Monitorización manual: Necesitas revisar los logs del
cron jobpara asegurarte de que los backups se ejecutan correctamente. - Recuperación: La restauración es un proceso manual usando
rsyncen sentido inverso, no un click en una interfaz.
Si ya tienes un sistema de backups automáticos para tu VPS montado, integrar un Storage Box es el siguiente paso para blindar tu estrategia de recuperación. También puedes considerar implementar backups incrementales con rsync y cron para optimizar el espacio y los tiempos de copia.
Técnico freelance especializado en desarrollo a medida, automatizaciones con IA y gestión técnica para negocios en España. Más sobre mí →
¿Necesitas que alguien se ocupe de tu web?
Me encargo de que tu web funcione, esté segura y actualizada. Backups, actualizaciones y soporte directo. Planes desde 49 €/mes.