technique:old:adminsys:backup:db:restore

Restauration d'une sauvegarde

Attention:

Les scripts de restauration sont parfois cassés. Il ne faut pas paniquer et restaurer le backup “à la main”.

Important:

Dans tous les cas, éteindre le service associé à la base de données!

Attention:

Cette opération nécessite que le conteneur de base de données soit lancé.

Afin de restaurer une sauvegarde SQL dans l’une des bases de donnée, des scripts on été générés à l’intérieur du conteneur de sauvegarde unique.

Dans le cas ou ce conteneur s’appelle pica-backup, il suffit le lancer les commandes suivantes pour effectuer une restauration :

# Lancer un shell interactif dans le conteneur
root@machine-hote:~$ docker exec -it pica-backup bash
# Éxecuter le script de restauration dans le conteneur
root@imagedocker:/$ /<service>-restore.sh /backup/<dossier de sauvegarde du service>/<fichier de sauvegarde à restaurer>.tar.gz

Copier le script de restauration dans le conteneur de base de données, exemple pour Etherpad :

$ docker cp /DATA/BACKUP/etherpad/<backup> etherpad-db:/tmp
$ docker exec -it etherpad-db bash

Utiliser les outils spécifiques au SGBD pour restaurer le backup. Pour PostgreSQL, ce sera une commande du genre :

# pg_restore --create --exit-on-error --verbose --dbname=postgres /tmp/<backup>

Chaque service est un peu différent (nom d’utilisateur, nom de base…). Dans tous les cas, en tâtonnant on finit toujours par trouver. Remarquez que c’est pas vraiment de la super doc de dire ça, mais en attendant de prendre le temps d’améliorer le système…

  • technique/old/adminsys/backup/db/restore.txt
  • de rdelaage