Não consigo fazer upload do backup

Olá!

Acabei de instalar o Discourse em um novo servidor e agora estou tentando fazer o upload de um backup de cerca de 400MB.
Ele trava em 40% com o seguinte erro:
Slow down, too many requests from this IP address. Please retry again in 2 seconds. Error code: ip_10_secs_limit.

O que é isso e como posso resolver?

1 curtida

Como solução alternativa, você pode fazer o upload do backup via SCP. Veja Restore a backup from the command line para mais informações.

@martin Isso poderia ser causado pela mudança para Uppy?

2 curtidas

Segui o seu link para restaurar o backup da CLI, mas nada foi restaurado, ainda estava o mesmo que uma instalação nova.

O arquivo “old” app.yml está no backup e será sobrescrito quando eu restaurar o backup? Se não, o backup inteiro é inútil.

Tentei restaurar o backup de dentro do Discourse e agora tenho um site em branco.

Isso é da linha de comando quando tento restaurar o backup. Claro que segui os comandos do link, mas parece que algo mudou.

Starting restore: backup-2021-12-06-185610-v20211201221028.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2021-12-18-163225 exists...
Copying archive to tmp directory...
EXCEPTION: lib/discourse.rb:127:in `exec': Failed to copy archive to tmp directory.
cp: cannot stat '/var/www/discourse/public/backups/default/backup-2021-12-06-185610-v20211201221028.tar.gz': No such file or directory
lib/discourse.rb:154:in `execute_command'
lib/discourse.rb:127:in `exec'
lib/discourse.rb:34:in `execute_command'
/var/www/discourse/lib/backup_restore/local_backup_store.rb:42:in `download_file'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:62:in `copy_archive_to_tmp_directory'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:22:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:477:in `exec'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:31:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:25:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:49:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:37:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2021-12-18-163225' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.
1 curtida

Então você colocou o arquivo no lugar errado ou o nome do arquivo está incorreto. Se for o último, então

discourse restore

Sem nome de arquivo, ele sugerirá os arquivos disponíveis.

Se você fizer

discourse backup

Você pode ver onde ele colocou o arquivo. Não vou tentar digitar o caminho correto no meu telefone.

1 curtida

Não, eu fiz como está escrito aqui:

Portanto, se este for o caminho errado, o tutorial está errado. É por isso que perguntei onde colocar o arquivo.

É muito fácil digitar as coisas erradas. É por isso que sugeri maneiras de testar se você colocou as coisas no lugar certo. Você tentou

discourse restore

Sem nome de arquivo?

Eu sei o que você quer dizer. mas eu fiz exatamente de acordo com as instruções (sem cometer um erro, copiei os caminhos), então pergunto se as instruções estão erradas ou se algo mudou nos caminhos nos últimos 2 anos.

Vou tentar novamente, mas talvez eu tenha que reinstalar o Discourse novamente porque agora tenho apenas um site em branco.

Não acho que você possa copiar e colar este trecho sem alterá-lo?

1 curtida

Eu acho que o caminho de destino está correto, caso contrário, eles deveriam dizer exatamente para onde movê-lo.

1 curtida

Ah, entendi. Li sua postagem como ‘Eu não poderia ter digitado nada errado, pois copiei e colei tudo do guia’. :slightly_smiling_face:

Então eu poderia restaurar o backup com discourse restore, mas algumas categorias estão faltando, todo o cabeçalho está faltando, não consigo fazer login, o app.yml ainda é o mesmo de uma instalação limpa e muitas outras coisas.
O backup era de 06.12.21 e eu escolhi fazer backup de tudo, mas metade das coisas estão faltando.

Então, para mim, todo o processo de backup e restauração é uma bagunça total!

Isso deve ser incrivelmente frustrante. Você tem minhas simpatias.

O app.yml não está incluído no backup do Discourse. Você precisaria copiar um da sua instância antiga ou editar um novo.

2 curtidas

Isso deveria ser dito no momento em que o backup é criado (como uma informação no final). Eu não tenho acesso ao arquivo antigo e criar um novo é possível, mas não me lembro quais plugins eu tinha.

Mas então ainda há a questão de por que algumas categorias e tópicos estão faltando, e por que o cabeçalho está faltando e eu não consigo fazer login.

Disso eu não tenho certeza. :slightly_smiling_face: Você executou ./launcher discourse-setup em sua nova instância?

Sim, claro. Ou não deveria fazer isso para restaurar? Ou você quer dizer depois da restauração?

Pensei que isso poderia preencher algumas das lacunas, mas não tenho certeza.

Pode valer a pena pegar o arquivo de backup e restaurá-lo em um discourse novo com um app.yml atualizado e ver se isso melhora alguma coisa.

1 curtida

Foi uma instalação nova em um servidor novo, e eu pensei que o app.yml estivesse no backup, mas eu estava errado. Não tenho acesso à instância “antiga” do discourse, então não há como restaurar o arquivo app.yml, aparentemente.

Você pode editar o arquivo app.yml existente para adicionar o que você acha que pode estar faltando? Não tenho certeza do que impediria a cópia de categorias ou logins?

Você restaurou um backup completo? Aquele na OP parou em 40%. Se você restaurou essa versão, isso pode explicar por que metade das suas coisas está faltando?

Estou apenas adivinhando neste momento. :slightly_smiling_face: Desculpe não poder ajudar mais.

Desculpe por todo esse transtorno. Não consigo explicar como isso pode ter acontecido.

Não consigo imaginar uma maneira de um backup restaurar apenas algumas categorias. Se apenas algumas categorias forem restauradas, então é isso que está no backup que você tirou. Talvez você tenha um backup antigo.

O app.yml não tem nada a ver com seus dados, apenas com o nome do host e outras coisas necessárias para configurar o Discourse. Você pode restaurar qualquer banco de dados em qualquer site.

1 curtida

Reinstalarei o Discourse novamente (com uma imagem de servidor nova) e tentarei restaurar o backup novamente.

O travamento de 40% ocorreu durante o upload diretamente no Discourse, depois copiei o backup via SCP para o servidor.

Sim, isso é verdade, mas pensei que algo importante também seria salvo no backup. Agora não sei quais plugins eu tinha instalado na instância antiga e como eram as configurações deles.
O backup foi de 6 de dezembro deste ano, então apenas alguns dias atrás.