El backup es de esas cosas que todo el mundo cree tener hasta que lo necesita. Un disco dañado, un rm en el directorio equivocado, un ransomware o un despliegue que borró datos: lo que separa un susto de un desastre es contar con una copia reciente, completa y restaurable.
La regla 3-2-1 explicada
- 3 copias de los datos (la original y dos más).
- 2 soportes o sistemas distintos (por ejemplo, el disco del servidor y un almacenamiento externo).
- 1 copia fuera del sitio, en otro proveedor o región.
Un backup guardado en el mismo disco del servidor no es un backup: si el disco falla o el servidor se ve comprometido, pierdes ambos.
Qué debe incluir el backup de un VPS
| Elemento | Ejemplos | Atención |
|---|---|---|
| Bases de datos | MySQL/MariaDB, PostgreSQL | Usa un volcado consistente; nunca copies solo los archivos de una base en ejecución. |
| Archivos de las aplicaciones | /var/www, uploads, storage/ | Los archivos subidos por los usuarios no están en Git. |
| Variables y secretos | .env, claves de API | Guárdalos cifrados. |
| Configuración del sistema | Nginx/Apache, PHP-FPM, cron, systemd | Sin ella, reconstruir el servidor lleva horas. |
| Certificados | /etc/letsencrypt | Evita reemisiones masivas y límites de tasa. |
Cómo generar volcados consistentes
# MySQL / MariaDB (InnoDB) sin bloquear la base de datos
mysqldump --single-transaction --routines --triggers --all-databases | gzip > mysql-$(date +%F).sql.gz
# PostgreSQL
pg_dump -Fc -d meu_banco -f meu_banco-$(date +%F).dump
¿Con qué frecuencia hacer backup?
Define dos cifras para cada sistema:
- RPO (Recovery Point Objective): cuántos datos estás dispuesto a perder. Un RPO de 1 hora exige un backup cada hora.
- RTO (Recovery Time Objective): en cuánto tiempo debe volver a estar operativo el sistema.
| Tipo de sistema | Base de datos | Archivos | Retención sugerida |
|---|---|---|---|
| E-commerce / SaaS | Cada hora | Diario | 7 diarias + 4 semanales + 3 mensuales |
| Sitio corporativo / blog | Diario | Semanal | 7 diarias + 4 semanales |
| Staging / pruebas | Semanal | Semanal | 2 a 4 copias |
El paso que casi todos olvidan: probar la restauración
Un backup que nunca se ha restaurado es solo una suposición. Al menos una vez al mes:
- Restaura el volcado en una base de datos temporal y comprueba el número de registros de las tablas principales.
- Verifica que el archivo comprimido no esté dañado (
gzip -t archivo.sql.gz). - Cronometra el proceso: ese es tu RTO real.
Cómo lo automatiza EzServer
- Descubrimiento automático de aplicaciones y bases de datos en cada servidor, para que nada quede fuera por olvido.
- Backups programados de archivos y bases de datos, con verificación de los volcados.
- Política de retención y limpieza de copias antiguas, para que el propio backup no llene el disco (un problema más común de lo que parece).
- Todo en un solo panel, para varios servidores a la vez.
/tmp o en el mismo disco, sin retención, llenan el servidor y tumban la aplicación. Limita siempre la cantidad de copias locales.