Backup et Restauration
Backups Automatiques
| Tâche Celery | Schedule | Description |
|---|---|---|
rgz.backup.pg_dump | Daily 03:00 UTC | Dump PostgreSQL complet |
rgz.backup.configs | Daily 04:00 UTC | Configs → git.rgz.local |
Backup Manuel — Base de Données
bash
# Dump PostgreSQL
docker exec rgz-db pg_dump -U rgz_admin rgz \
> backups/rgz_$(date +%Y%m%d_%H%M).sql
# Vérifier le dump
wc -l backups/rgz_$(date +%Y%m%d).sqlBackup Manuel — Base Recensement
bash
# SQLite recensement (outil #81)
docker exec recensement-app cp \
/app/recensement.db \
/backups/recensement_$(date +%Y%m%d).dbRestauration PostgreSQL
bash
# Arrêter l'API (éviter les écritures pendant la restauration)
docker compose -f docker-compose.core.yml stop rgz-api rgz-beat
# Restaurer
docker exec -i rgz-db psql -U rgz_admin rgz \
< backups/rgz_20260221_0300.sql
# Redémarrer
docker compose -f docker-compose.core.yml up -d rgz-api rgz-beatVérification des Backups
bash
# Lister les backups disponibles
ls -lh backups/ | tail -20
# Vérifier le dernier backup (doit être < 25h)
find backups/ -name "*.sql" -mtime -1 | wc -l
# Attendu: >= 1
# Taille du dump (signal d'intégrité)
du -sh backups/rgz_$(date +%Y%m%d)*.sqlRétention
| Type | Rétention | Lieu |
|---|---|---|
| pg_dump | 30 jours | /opt/rgz/backups/ |
| Configs git | Illimitée | git.rgz.local |
| Logs ELK | 12 mois | Elasticsearch ILM |
| Recensement SQLite | Manuel | /backups/ |
Dernière mise à jour: 2026-02-21