Sauvegarder et restaurer la base de données¶
Ce guide explique comment sauvegarder et restaurer la base de données PostgreSQL d'ExploreIOT.
Script automatisé (backup-db.sh)¶
Un script de sauvegarde est fourni dans scripts/backup-db.sh. Il sauvegarde la base avec une politique de rétention de 30 jours.
# Rendre le script exécutable
chmod +x scripts/backup-db.sh
# Lancer une sauvegarde manuelle
./scripts/backup-db.sh
Le script :
- Crée un dump PostgreSQL au format custom (compressé)
- Nomme le fichier avec la date courante
- Supprime automatiquement les sauvegardes de plus de 30 jours
- Log toutes les opérations dans
backups/backup.log
Sauvegarde manuelle¶
docker compose exec postgres pg_dump \
-U exploreiot \
-d exploreiot \
--format=custom \
--file=/tmp/backup_$(date +%Y%m%d_%H%M%S).dump
Copiez le fichier hors du conteneur :
Restaurer une sauvegarde¶
# Copier le fichier dans le conteneur
docker compose cp ./backups/backup_20260411_120000.dump postgres:/tmp/
# Restaurer
docker compose exec postgres pg_restore \
-U exploreiot \
-d exploreiot \
--clean \
/tmp/backup_20260411_120000.dump
Automatiser avec cron¶
Ajoutez une entrée crontab pour une sauvegarde quotidienne à 2h du matin :
Voir aussi
- Schéma base de données — structure et index
- Déployer avec Docker — guide de déploiement complet