Sauvegarde / Restauration

Des scripts de sauvegarde et de restauration des données sont intégrés au serveur Zéphir.

Truc & astuce

Ce sont ces scripts qu'il faut utiliser pour effectuer un changement de machine ou le changement de version du module EOLE Zéphir.

Sauvegarde

Pour effectuer une sauvegarde, exécuter la commande sauvegarde.sh sur le serveur Zéphir.

1
root@zephir:~# sauvegarde.sh 
2
3
Sauvegarde en cours, veuillez patienter ...
4
 - base PostgreSQL
5
 - base LDAP
6
 - configuration des serveurs
7
 - clés de connexion
8
 - configuration EOLE
9
 - configuration EAD et certificats SSL
10
 - configuration d'EoleSSO
11
 - dictionnaires personnalisés
12
 - fonctions CREOLE personnalisées
13
 - modules personnalisés
14
Compression de l'archive...
15
16
Archive créée : /var/lib/zephir_backups/29-11-2016-15h36.tar.gz
17
18
root@zephir:~#

Il n'y a rien de particulier à faire dans cette procédure. Le fichier de sauvegarde créé est /var/lib/zephir_backups/'date du jour'.tar.

Remarque

Les sauvegardes générées sont stockées localement. Il est recommandé de sauvegarder le répertoire /var/lib/zephir_backup/ avec un système de sauvegarde externe.

Restauration sur la même machine

La restauration se fait via restauration.sh. Une liste des sauvegardes présentes est affichée. Entrer le nom de la sauvegarde à restaurer (date de création de la sauvegarde).

1
root@zephir:~# restauration.sh 
2
     Utilitaire de restauration Zéphir
3
4
!! Attention : toutes les modifications effectuées
5
   après la sauvegarde restaurée seront perdues !!
6
7
Liste des sauvegardes présentes :
8
9
29-11-2016-15h36
10
11
Sauvegarde à restaurer (rien pour sortir): 29-11-2016-15h36
12
Arrêt du service Zéphir...
13
Décompression en cours...
14
Vérification des données...
15
Restaurer la base de données (o/n) ? o
16
17
 - base PostgreSQL
18
 - initialisation de la base
19
 - injection des données
20
 - régénération du mot de passe
21
 - mise à jour du schéma de la base
22
 - base LDAP
23
 - configuration des serveurs
24
 - dictionnaires personnalisés
25
 - modules personnalisés
26
 - configuration EAD
27
 - certificats SSL
28
 - configuration EoleSSO
29
 - configuration EOLE
30
31
La configuration présente avant restauration a été copiée sous /etc/eole/config.old
32
Pour reprendre cette version, copier ce fichier sur /etc/eole/config.eol
33
34
Reconfigurez le serveur après la fin de la restauration
35
36
37
Système restauré
38
39
root@zephir:~#

Attention

Attention, toutes les données modifiées depuis la sauvegarde (serveurs enregistrés, journaux, variantes, ...) seront perdues lors de la restauration.

Restauration sur une nouvelle machine

La restauration sur une nouvelle machine se fait si le serveur est instancié. Le script de restauration propose d'extraire le fichier config.eol.

Récupérer l'archive de sauvegarde soit depuis l'ancien serveur Zéphir soit depuis une copie stockée sur un autre support.

Copier l'archive sur la nouvelle machine sur laquelle le module Zéphir est fraîchement installé :

# scp 04-10-2016-10h09.tar.gz root@zephir:/var/lib/zephir_backups/

Pour exécuter la restauration sur une nouvelle machine non instanciée il faut préciser le chemin absolu de la commande /usr/share/eole/restauration.sh (en effet les PATHS ne sont pas encore renseignés).

Si le serveur n'est pas instancié, le script propose d'extraire le fichier config.eol.

1
root@zephir:~# /usr/share/eole/restauration.sh 
2
3
Le serveur doit être instancié pour permettre la restauration.
4
5
Si besoin, récupérer le fichier config.eol dans l'archive à restaurer :
6
# cd /var/lib/zephir_backups
7
# tar -xzf <nom_archive>.tar.gz
8
# cd <nom_archive> && tar -xf etc_eole.tar
9
# cp config.eol /etc/eole/
10
# cd /root && rm -rf /var/lib/zephir_backups/<nom_archive>
11
12
Valider la configuration avec gen_config, puis lancer instance
13
root@zephir:~#

Extraire le fichier config.eol.

1
root@zephir:~# cd /var/lib/zephir_backups
2
root@zephir:/var/lib/zephir_backups# ll
3
total 1896
4
drwxr-xr-x  3 root root    4096 déc.  12 10:46 ./
5
drwxr-xr-x 51 root root    4096 déc.   1 14:13 ../
6
drwxr-xr-x  2 root root    4096 déc.  12 10:14 12-12-2016-10h14/
7
root@zephir:/var/lib/zephir_backups# tar -xzf 12-12-2016-10h14.tar.gz 
8
root@zephir:/var/lib/zephir_backups# ll
9
total 1896
10
drwxr-xr-x  3 root root    4096 déc.  12 10:46 ./
11
drwxr-xr-x 51 root root    4096 déc.   1 14:13 ../
12
drwxr-xr-x  2 root root    4096 déc.  12 10:14 12-12-2016-10h14/
13
-rw-r--r--  1 root root 1927039 déc.  12 10:14 12-12-2016-10h14.tar.gz
14
root@zephir:/var/lib/zephir_backups# cd 12-12-2016-10h14/
15
root@zephir:/var/lib/zephir_backups/12-12-2016-10h14# tar -xf etc_eole.tar
16
root@zephir:/var/lib/zephir_backups/12-12-2016-10h14# cp config.eol /etc/eole/        

Instancier le serveur à l'aide de la commande instance.

1
[...]
2
*run-parts: executing /usr/share/eole/posttemplate/10-conf-zephir instance
3
4
## Regénération des mots de passe ##
5
Voulez-vous re-créer les utilisateurs et données de base (attention toutes les données actuelles seront perdues) ? [oui/non]
6
[non] : non
7
Start Systemd service postgresql                                                                                                       [  OK  ]
8
L'utilisateur admin_zephir n'est pas présent dans l'annuaire, renseignez son mot de passe ci-dessous
9
10
#############################################################################
11
# Initialisation du mot de passe de l'administrateur de base (admin_zephir) #
12
#############################################################################
13
Mot de passe :
14
[...]

Exécuter le script restauration.sh.

1
root@zephir:~# /usr/share/eole/restauration.sh 
2
     Utilitaire de restauration Zéphir
3
4
!! Attention : toutes les modifications effectuées
5
   après la sauvegarde restaurée seront perdues !!
6
7
Liste des sauvegardes présentes :
8
9
30-11-2016-14h25
10
11
Sauvegarde à restaurer (rien pour sortir): 30-11-2016-14h25
12
Arrêt du service Zéphir...
13
Décompression en cours...
14
Vérification des données...
15
Restaurer la base de données (o/n) ? o
16
17
 - base PostgreSQL
18
 - initialisation de la base
19
 - injection des données
20
 - régénération du mot de passe
21
 - mise à jour du schéma de la base
22
 - base LDAP
23
 - configuration des serveurs
24
 - dictionnaires personnalisés
25
 - modules personnalisés
26
 - configuration EAD
27
 - certificats SSL
28
 - configuration EoleSSO
29
 - configuration EOLE
30
31
Le fichier /etc/eole/config.eol est différent de la version restaurée
32
Le fichier présent avant restauration a été sauvegardé sous /etc/eole/config.old
33
Pour reprendre cette version, copier ce fichier sur /etc/eole/config.eol
34
35
Utilisez la commande instance sans écraser la base de données
36
37
38
Système restauré
39
40
root@zephir:~#

Attention

Il est alors nécessaire de réinstancier le serveur Zéphir en prenant garde de ne pas écraser la base de données (répondre non lorsqu'il est demandé de recréer les données).