Tarefa cron para sincronizar backups locais com o DigitalOcean Spaces

Não parece que consigo fazer os backups funcionarem no DigitalOcean Spaces. No entanto, o servidor tem o bucket montado via s3fs com as mesmas credenciais. Só preciso que os backups sejam armazenados no Spaces, não uploads, etc. Os logs dizem EXCEPTION: Aws::S3::Errors::Forbidden O log de produção diz Failed to list backups from S3: Aws::S3::Errors::SignatureDoesNotMatch

Existe uma maneira de agendar uma tarefa para mover o backup local para o bucket via script bash? Obrigado.

Para qualquer outra pessoa que encontre isso e queira continuar, você pode emitir este comando no terminal bash. O usuário precisa fazer parte do grupo docker
docker cp app:\"/var/www/discourse/public/backups/default\" /whatever-host-path/

2 curtidas

Você quer dizer backups do Discourse? Se sim, por que isso está no WordPress?

Se você quer que eles vão para o Spaces, por que não configurar backups S3?

2 curtidas

O site principal é WordPress. O Discourse está em um subdiretório.
Site principal: main.com
Discourse: main.com/forums
Mas a configuração das credenciais S3 para DigitalOcean Spaces me dá os erros acima. Tenho um prazo a cumprir, então acabei de resolver isso com os comandos que mencionei anteriormente. Mas seria útil ver as configurações de trabalho de alguém e/ou etapas de solução de problemas para fazer isso funcionar.

Acima você mencionou s3fs. Você não precisa disso. Os erros acima vêm do s3fs, que não é algo que o Discourse suporta. Você quer seguir algo como Configurando uploads de arquivos e imagens para S3 ou Usando Object Storage para Uploads (S3 e Clones), mas configure apenas o bucket de backup.

1 curtida

Para deixar mais explícito, o “host” tem o bucket do DigitalOcean Spaces montado, não o contêiner. As duas questões não estão relacionadas. Backups geram erros se o Discourse estiver configurado para S3. Backups funcionam se eu copiar manualmente os backups locais para a máquina host e, em seguida, movê-los para o DigitalOcean Spaces.

Se os logs Forbidden forem do Discourse e não do s3fs, ao tentar salvar no bucket Spaces, então é algo como credenciais erradas ou nome de bucket incorreto.

Ah!

       Falha ao listar backups do S3:

Ah. Acho que esse é o problema. Ele está tentando obter uma lista de buckets e não consegue. Não tenho certeza de como consertar, mas esse é o problema que você quer resolver, então talvez editar o assunto. Se você quiser consertar seus backups S3, pode obter ajuda aqui; se quiser configurar s3fs, provavelmente precisará procurar ajuda em outro lugar.

Tente esta variável de ambiente em seu app.yml

      FORCE_S3_UPLOADS: 1

Seu endpoint está correto? Dê uma olhada na seção Digital Ocean em Usando Armazenamento de Objetos para Uploads (S3 e Clones).

1 curtida

Finalmente isso funcionou para o DigitalOcean Spaces a) Fazer upload de backups para o Object Storage b) Não fazer upload de arquivos para o Object Storage. Por favor, marque isso como resolvido. Obrigado a todos!

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.