Au cours du dernier mois, nous avons effectué d’innombrables tests de migration dans divers scénarios et conteneurs Docker. De plus, j’ai réalisé encore plus de restaurations de bases de données Discourse d’un serveur à un autre.
Sur la base de tests de récupération approfondis, le processus de restauration Discourse est brillant et a fonctionné parfaitement dans toutes les situations, en ligne de commande.
Par exemple, nous utilisons un script très primitif pour cela, que je stocke dans mon répertoire /shared/neo/bin :
#!/bin/bash
echo "cd /var/www/discourse"
cd /var/www/discourse
echo "discourse enable_restore"
discourse enable_restore
echo "begin neo restore"
discourse restore unix-com-community-2020-03-27-033157-v20200320193612.tar.gz
echo "discourse disable_restore"
discourse disable_restore
Bien sûr, ce petit script bash n’est ni nécessaire ni élégant ; mais un script minuscule comme celui-ci, qui rend les choses faciles et rapides, est vraiment utile lorsque vous êtes occupé et que vous voulez simplement coller votre dernière sauvegarde dans le script et procéder à la restauration.
Pour ma part, je restaure toujours en ligne de commande (dans l’application, et dans Docker, bien sûr), et le processus de restauration Discourse n’a jamais échoué, après de nombreux scénarios de test. Il suffit de créer une nouvelle installation Docker de Discourse et de restaurer depuis la ligne de commande, et « boom », c’est fait.
Si nous comparons cela aux « jours de l’ère des dinosaures », avant Docker, la simple brillance du processus de restauration Discourse dans Docker rend le processus de récupération beaucoup plus facile et rapide.
Par exemple, nous copions également nos sauvegardes Discourse hors site (sur un serveur différent de l’instance Discourse de production), et si ce serveur de production ou ce centre de données « explosait » lors d’une catastrophe, nous pourrions reconstruire une instance Discourse à partir de zéro, sur n’importe quel serveur de notre choix, et restaurer facilement (bien sûr, nous devons garder nos TTL DNS courts, mais c’est un autre sujet).
Félicitations à l’équipe Discourse pour un processus de sauvegarde et de récupération aussi bien pensé et excellentement conçu !
Cela fonctionne brillamment, encore et encore, sans aucun défaut.