Nel corso dell’ultimo mese, abbiamo eseguito innumerevoli test di migrazione in vari scenari e contenitori Docker. Inoltre, ho effettuato ancora più ripristini del database di Discourse da un server all’altro.
Sulla base di test di recupero estesi, il processo di ripristino di Discourse è brillante e ha funzionato perfettamente in ogni situazione, direttamente da riga di comando.
Ad esempio, utilizziamo uno script molto elementare per questo scopo, che conservo nella mia directory /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
Certo, questo piccolo script bash non è né necessario né elegante; ma uno script minuscolo del tipo “rendi tutto facile e veloce” come questo è davvero utile quando sei impegnato e vuoi semplicemente incollare l’ultimo backup nello script ed eseguire il ripristino.
Per quanto mi riguarda, eseguo sempre il ripristino da riga di comando (sia nell’app che in Docker, ovviamente) e il processo di ripristino di Discourse non ha mai fallito, dopo numerosi scenari di test. Basta creare una nuova installazione Docker di Discourse e ripristinare da riga di comando, e “boom”, è fatto.
Se confrontiamo questo con i “tempi del passato dei dinosauri”, prima di Docker, la sola brillantezza del processo di ripristino di Discourse in Docker rende il processo di recupero molto più semplice e veloce.
Ad esempio, copiamo anche i nostri backup di Discourse in un sito esterno (su un server diverso dall’istanza di produzione di Discourse); se quel server di produzione o il data center “esplodesse” in caso di disastro, possiamo ricostruire un’istanza di Discourse da zero, su qualsiasi server a nostra scelta, e ripristinarla facilmente (ovviamente dobbiamo mantenere brevi i TTL del DNS, ma questo è un argomento a parte).
Congratulazioni al team di Discourse per un processo di backup e recupero così ben pensato e splendidamente progettato!
Funziona brillantemente, ogni volta, senza alcun difetto.