instructions restauration sauvegarde

This commit is contained in:
Emmanuel Viennet 2022-02-01 07:10:16 +01:00
parent 46e633b129
commit 0ff8b9e869

View File

@ -55,10 +55,17 @@ et ajouter:
## En cas de problème: restaurer la base à partir d'une sauvegarde
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> Attention, certaines informations sont stockées dans des fichiers et non dans la base de données: configuration du logiciel, photos des étudiants. Ce paragraphe ne traite que de la restauration à de la base de données.
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> Attention, certaines informations sont stockées dans des fichiers
et non dans la base de données: configuration du logiciel, photos des étudiants.
Ce paragraphe ne traite que de la restauration de la base de données.
Rappel: en ScoDoc 9, il n'y a qu'une seule base de donnée SQL, nommée par défaut
`SCODOC`. Cette base contient les données des départements et la définition des
comptes utilisateurs.
1. Choisir la sauvegarde à utiliser, en fonction de la date à partir de
laquelle on a fait une erreur (eg suppression non intentionnelle d'un
laquelle on a fait une erreur (par ex. suppression non intentionnelle d'un
semestre...). Le fichier se trouve sous
`/var/lib/postgresql/SCODOC-BACKUPS``XXX` est concerné. Utiliser par
exemple `ls -lrt` pour visualiser les sauvegardes triées par date.
@ -76,24 +83,18 @@ et ajouter:
```
# en tant que root...
systemctl stop scodoc9 # arret du serveur
su postgres
dropdb SCODOC # <<< votre base production
pg_restore -C -d scodoc /tmp/XXX # (nom de la BDD en majuscule)
su - scodoc
dropdb SCODOC # <<< votre base production
createdb -E UTF-8 SCODOC
pg_restore -d SCODOC /tmp/SCODOC_pgdump.gz # (nom du fichier dump)
source venv/bin/activate
flask db upgrade # nécessaire seulement si sauvegarde ancienne
flask clear-cache
exit # retour a l'utilisateur root
systemctl start scodoc9 # relance ScoDoc
```
Attention: s'il y a eu des mise à jour du logiciel entre temps, il peut arriver
que la base sauvegardée nécessite une migration. Arrêtez le service scodoc9,
puis, en tant qu'utilisateur `scodoc`, lancer les commandes suivantes:
cd /opt/scodoc
source venv/bin/activate
flask db upgrade
puis relancer le service (`systemctl start scodoc9` comme root).
## Déplacement de toute une installation
Les scripts ci-dessus ne se chargent que de la base de données SQL.