Existe um plugin que permite sincronizar seus backups do Discourse com vários provedores de armazenamento em nuvem. Infelizmente, atualmente ele não funciona com Dropbox e Google Drive. Se, mesmo assim, você quiser armazenar seu backup no Dropbox ou Google Drive, siga os passos abaixo. Usarei o Dropbox como exemplo, mas as instruções também funcionam com qualquer outro backend suportado pelo rclone.
Aviso: As instruções foram testadas no Ubuntu 16.04 e funcionam para mim, mas não sou especialista nisso, então pode haver maneiras melhores de fazer isso. Sinta-se à vontade para me corrigir e ficarei feliz em atualizar esta postagem.
Instalar o rclone
sudo curl https://rclone.org/install.sh | sudo bash
Se o comando acima falhar, pode ser solicitado que você instale uma ferramenta de descompactação:
sudo apt-get install unzip
Conceder acesso ao Dropbox
Esta é a parte mais complicada, pois você precisa de um navegador para conceder ao rclone acesso ao seu Dropbox, o que não é fácil, para dizer o mínimo, quando você está acessando um VPS via SSH. Portanto, você precisa proceder em duas etapas:
No seu servidor, execute
sudo rclone config
e siga as instruções. Em algum momento, você será perguntado
Usar configuração automática?
E você responde N
Agora, você precisa alternar para sua máquina de desktop para obter o token de autenticação. Isso significa que você precisa instalar o rclone na sua máquina de desktop (Rclone para Windows está aqui: Rclone downloads) e seguir as instruções em Remote Setup.
Uma vez obtido seu token e colado no prompt SSH que estava aguardando, você pode verificar se tudo funcionou conforme o esperado obtendo uma lista de todos os diretórios no seu Dropbox:
rclone lsd drobo:
onde drobo é o nome que você atribuiu ao seu Dropbox anteriormente.
Copiar seus backups para o Dropbox
Localize seus arquivos de backup. Geralmente, você os encontrará em /var/discourse/shared/standalone/backups/default. Se estiver usando uma configuração de dois contêineres, eles provavelmente estarão em /var/discourse/shared/web-only/backups/default.
O comando para copiar seus backups para o diretório de backups no seu Dropbox será
sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups
Configurar uma tarefa cron para copiar seus backups para o Dropbox
Para copiar os backups todos os dias às 18h, adicione o seguinte ao seu crontab:
crontab -e
e adicione
0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups
Você pode executá-lo com mais frequência se desejar, pois apenas novos arquivos serão copiados de qualquer maneira.
Observe que a opção copy adicionará cada vez mais backups ao seu Dropbox, mesmo quando os arquivos no seu servidor forem excluídos. Se você quiser manter apenas os backups que também estão mantidos no seu servidor, use sync em vez de copy.