No último mês, realizamos inúmeros testes de migração em diversos cenários e contêineres Docker. Além disso, executei ainda mais restaurações de banco de dados do Discourse de um servidor para outro.
Com base em testes extensivos de recuperação, o processo de restauração do Discourse é brilhante e funcionou perfeitamente em todas as situações, diretamente pela linha de comando.
Por exemplo, usamos um script muito primitivo para isso, que armazeno no meu diretório /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
Claro, esse pequeno script em bash não é necessário nem elegante; mas um script minúsculo como esse, que “facilita e acelera as coisas”, realmente ajuda quando você está ocupado e quer apenas colar seu backup mais recente no script e realizar a restauração.
Para mim, sempre faço a restauração pela linha de comando (no app e no Docker, é claro), e o processo de restauração do Discourse nunca falhou, após muitos cenários de teste. Basta criar uma nova instalação do Discourse no Docker e restaurar pela linha de comando, e “bum”, está feito.
Se compararmos isso aos “dias distantes da era dos dinossauros”, antes do Docker, apenas a genialidade do processo de restauração do Discourse no Docker torna o processo de recuperação muito mais fácil e rápido.
Por exemplo, também copiamos nossos backups do Discourse para um local externo (para um servidor diferente da instância de produção do Discourse). Se esse servidor de produção ou data center “explodisse” em um desastre, podemos reconstruir uma instância do Discourse do zero, em qualquer servidor de nossa escolha, e restaurá-la facilmente (é claro, precisamos manter os TTLs do DNS curtos, mas esse é outro assunto).
Parabéns à equipe do Discourse por um processo de backup e recuperação tão bem pensado e excelentemente projetado!
Funciona brilhantemente, vez após vez, sem nenhum defeito.