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!
Restauration automatique
Attention:
Cette opération nécessite que le conteneur de base de données soit lancé.
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
À la main
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…