Sauvegarde et restauration
Sauvegarde
# sauvegarde la base de données et les fichiers (exécutable)
/srv/scripts/backup
- écrase le fichier
/srv/backups/dump_without_files.backup
avec un export de la base de données sans les fichiers (pour avoir des dumps léger sur les environnements de développement par exemple) - écrase le dossier
/srv/backups/dump
avec un dump binaire - envoie tout via restic sur le B3 pour archivage
La sauvegarde est executée chaque jour à 2h (tâche cron).
Restauration
# restaure la base de données et les fichiers (exécutable)
/srv/scripts/restore-last-backup
- récupère la dernière snapshot restic
- arrête la BDD et l'API
- applique le dump
- redémarre la BDD et l'API
Cette procédure est lancée tous les dimarches sur la machine de dev.
Lister les backups présents sur restic
restic snapshots
Récupérer un backup
restic restore latest --no-lock -t /
Mise à jour de postgres
Pour la mise à jour de version majeure de postgres, pour le moment on lance un backup, on supprime le dossier postgres dans /srv/www/camino/ et on relance postgres. Ensuite, on relance un pg_restore, ça prend une vingtaine de minutes On a regardé du côté de pg_upgrade (https://github.com/docker-library/postgres/issues/37) mais ça a l'air assez complexe à mettre en place