Sauvegarde et restauration
Strategie de sauvegarde
| Composant | Frequence | Methode | Retention |
|---|---|---|---|
| PostgreSQL | Quotidienne | pg_dump | 30 jours |
| Qdrant | Hebdomadaire | Snapshots API | 4 semaines |
| Vault | Quotidienne | Raft snapshot | 30 jours |
| Volumes Podman | Hebdomadaire | podman volume export | 2 semaines |
| Configuration | A chaque changement | Git | Illimitee |
Sauvegarde automatisee
Le script scripts/backup-chatbotaurus.ps1 automatise les sauvegardes :
# Sauvegarde complete
.\scripts\backup-chatbotaurus.ps1
# Sauvegarde PostgreSQL uniquement
.\scripts\backup-chatbotaurus.ps1 -Component postgres
# Sauvegarde vers un repertoire specifique
.\scripts\backup-chatbotaurus.ps1 -OutputDir /backups/2026-02-23
Sauvegarde manuelle
PostgreSQL
# Dump complet
sudo podman exec chatbotaurus-postgres \
pg_dump -U chatbotaurus -Fc chatbotaurus > chatbotaurus_$(date +%Y%m%d).dump
# Dump d'une table specifique
sudo podman exec chatbotaurus-postgres \
pg_dump -U chatbotaurus -t mcp_gateway chatbotaurus > gateways.sql
Qdrant (vecteurs)
# Creer un snapshot de toutes les collections
curl -X POST "http://localhost:6333/snapshots"
# Lister les snapshots
curl "http://localhost:6333/snapshots"
Vault (secrets)
sudo podman exec chatbotaurus-vault \
vault operator raft snapshot save /tmp/vault-$(date +%Y%m%d).snap
sudo podman cp chatbotaurus-vault:/tmp/vault-$(date +%Y%m%d).snap ./
Restauration
PostgreSQL
# Restaurer depuis un dump
sudo podman exec -i chatbotaurus-postgres \
pg_restore -U chatbotaurus -d chatbotaurus --clean < chatbotaurus_20260223.dump
Qdrant
# Restaurer depuis un snapshot
curl -X PUT "http://localhost:6333/snapshots/recover" \
-H "Content-Type: application/json" \
-d '{"location": "/qdrant/snapshots/snapshot-name.snapshot"}'
Vault
sudo podman cp vault-20260223.snap chatbotaurus-vault:/tmp/
sudo podman exec chatbotaurus-vault \
vault operator raft snapshot restore /tmp/vault-20260223.snap
Plan de reprise d'activite (PRA)
- RTO (Recovery Time Objective) : < 4 heures
- RPO (Recovery Point Objective) : < 24 heures
- Les sauvegardes sont stockees sur un volume separe du VPS
- Test de restauration mensuel recommande