Tener respaldos no es lo mismo que tener capacidad real de recuperación. La diferencia aparece cuando el problema ya ocurrió y hay que responder con urgencia.

El error más común: respaldar sin restaurar

El backup que nunca se probó en restore es una promesa sin evidencia. El procedimiento de validación debe ser periódico, documentado y ejecutado en un entorno que simule producción real, no solo en papel.

Qué debería validar cualquier respaldo serio

  • Integridad: ¿El archivo no está corrupto?
  • Consistencia: ¿Los datos son coherentes entre sí?
  • Tiempo de restauración: ¿El RTO (Recovery Time Objective) es aceptable?
  • Punto de recuperación: ¿El RPO (Recovery Point Objective) cubre la ventana de pérdida aceptable?

Cómo validar en la práctica

MySQL / MariaDB

# Verificar integridad del dump
gzip -t backup.sql.gz && echo "OK" || echo "CORRUPTO"

# Restaurar en instancia limpia y verificar tabla de muestra
mysql -u root -p test_restore < backup.sql
mysql -u root -p test_restore -e "SELECT COUNT(*) FROM tabla_critica;"

Archivos / directorios (tar + sha256)

# Al crear backup
tar czf backup-$(date +%Y%m%d).tar.gz /var/www/sitio/
sha256sum backup-$(date +%Y%m%d).tar.gz > backup-$(date +%Y%m%d).sha256

# Al validar
sha256sum -c backup-20260313.sha256 && echo "Íntegro" || echo "Corrupto"

Restore en contenedor Docker (entorno limpio)

docker run --rm -d --name test-mysql 
  -e MYSQL_ROOT_PASSWORD=test 
  -e MYSQL_DATABASE=test_restore 
  mysql:8.0

# Restaurar y verificar
docker exec -i test-mysql mysql -uroot -ptest test_restore < backup.sql
docker exec test-mysql mysql -uroot -ptest test_restore -e "SELECT COUNT(*) FROM tabla_critica;"

# Limpiar
docker stop test-mysql

La regla 3-2-1 y por qué importa la distribución

  • 3 copias de los datos
  • 2 medios de almacenamiento diferentes
  • 1 copia fuera del sitio (offsite o cloud)

Un backup en el mismo servidor que los datos no es un backup: es una copia redundante en el mismo punto de falla.

Conclusión corta

El criterio es simple: si no has restaurado el backup en los últimos 30 días, no sabes si sirve. La validación periódica no es opcional; es parte del proceso de backup real.