Saltar a contenido

Respaldos

Estrategia de backups para el Sistema A3.

Backups de Base de Datos

Backups Automáticos (Heroku)

# Programar backups diarios
heroku pg:backups:schedule DATABASE_URL --at '02:00 America/Mexico_City' --app aterceros

# Ver backups
heroku pg:backups --app aterceros

# Descargar último backup
heroku pg:backups:download --app aterceros

Backups Manuales

# Antes de cambios importantes
heroku pg:backups:capture --app aterceros

# Descargar backup
heroku pg:backups:download b101 --app aterceros

Restaurar Backup

# Restaurar desde Heroku backup
heroku pg:backups:restore b101 DATABASE_URL --app aterceros

# Restaurar desde archivo local
heroku pg:push sistema_a3_local DATABASE_URL --app aterceros

Backups de Archivos (S3)

AWS S3 tiene versionado automático configurado. Para restaurar:

import boto3
s3 = boto3.client('s3')
s3.restore_object(
    Bucket='sistema-a3-media',
    Key='path/to/file.pdf',
    VersionId='version_id'
)

Backups de Código

  • Git: Todo el código está en GitHub
  • Tags: Versiones importantes taggeadas
  • Releases: Releases en GitHub con notas

Retención

  • BD diarios: 7 días (Heroku)
  • BD semanales: 4 semanas
  • BD mensuales: 12 meses
  • Archivos S3: Versionado permanente

Verificación

Probar restauración mensualmente:

# 1. Descargar backup
heroku pg:backups:download --app aterceros

# 2. Restaurar en BD local
pg_restore -d sistema_a3_test latest.dump

# 3. Verificar integridad
python manage.py check --database=default

En Caso de Desastre

  1. Contactar equipo de sistemas
  2. Identificar último backup bueno
  3. Restaurar BD
  4. Verificar integridad
  5. Restaurar archivos S3 (si aplica)
  6. Probar funcionalidad crítica
  7. Notificar a usuarios

⚠️ Crítico: Siempre tener al menos un backup antes de cambios mayores.