Aller au contenu principal

Sauvegarde et restauration

Strategie de sauvegarde

ComposantFrequenceMethodeRetention
PostgreSQLQuotidiennepg_dump30 jours
QdrantHebdomadaireSnapshots API4 semaines
VaultQuotidienneRaft snapshot30 jours
Volumes PodmanHebdomadairepodman volume export2 semaines
ConfigurationA chaque changementGitIllimitee

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