Ah, faz mesmo mais sentido
Você pode verificar localmente com qualquer cliente SSH que preferir. Dependendo da sua configuração, os arquivos devem estar em algo como /var/discourse/shared/standalone/uploads/default/original/2X/
Então, você pode executar ls -R /var/discourse/shared/standalone/uploads/ | grep 4064b para encontrar o arquivo 4064b…d.png
Falando sobre a mesma instância do Discourse que @masterakay mencionou.
Migramos para o S3 há mais de 2 anos; nenhum dos arquivos no diretório de uploads local é mais recente que 2018.
Sei que as imagens são carregadas na pasta “original”, processadas (recortadas, redimensionadas, etc.) e colocadas na pasta “optimized”. As URLs usadas pelo Discourse ao carregar imagens ainda vêm da pasta “/original/1X/”. De alguma forma, com a atualização, a pasta “1X” desapareceu.
Existe uma pasta “default” que contém muitos uploads (imagens, etc.), bem como versões recortadas. Há cerca de 10 mil arquivos aqui, totalizando aproximadamente 2,5 GB.
O problema é que as URLs das imagens nas postagens sempre apontam para a versão “original”.
Notamos que os arquivos ausentes são um subconjunto dos arquivos presentes na pasta “default”.
Novos uploads funcionam sem problemas e são armazenados em “/original/2X/”.
Alguém tem ideias de onde a pasta “/original/1X/” pode ter ido e se é possível recuperá-la?
@sam@codinghorror Sinto muito por arrastá-los para isso, mas é bastante urgente. Somos estudantes e estamos meio desamparados com a pressão da faculdade para corrigirmos as imagens.
Como você configurou o S3? Você definiu algum valor no app.yml ou apenas na interface de administração? Parece que algo inesperado está ocorrendo com DISCOURSE_S3_BUCKET ou DISCOURSE_S3_BACKUP_BUCKET.
De fato. Algo pode não estar funcionando corretamente no código, mas não sabemos o quê nem o porquê. Então, precisamos de mais informações.
Existem duas maneiras diferentes de configurar o S3: você pode configurar o ambiente no app.yml ou inserir os valores na interface de administração. As variáveis têm nomes ligeiramente diferentes em cada caso.
O tópico que você vinculou descreve como configurar na interface de administração. Se foi assim que você configurou seu site, pode nos dizer quais são os valores de s3_upload_bucket e s3_backup_bucket?
O problema ocorreu porque essas configurações não devem ter o mesmo valor — pesquise no tópico de configuração pela linha “Preciso realmente usar buckets separados para uploads e backups?”.
Um job de manutenção foi executado no conteúdo do bucket de backups e afetou os uploads porque seus valores se sobrepunham.
@sam, provavelmente devemos impor isso no código, não apenas na documentação.
Para corrigir seu site, há dois passos:
Primeiro, você precisará alterar o prefixo de backups — adicionar /backups ao final, conforme descrito no tópico de configuração, é suficiente.
Depois, mova tudo de volta para o local correto dentro do bucket S3. Tudo que está na pasta superior “default” deve ser movido de volta para o nível superior.
Por exemplo, provavelmente há uma pasta “default/originals” que deve ser movida para cima.
Você terá que usar o console da web da AWS ou alguma outra ferramenta para navegar pelo bucket.
Ei @schleifer, faz sentido. Adicionei o prefixo “backups” ao nome do bucket.
Quanto aos uploads existentes, todos estão em /default/ (não em subpastas). As URLs das imagens nos posts (e em todos os outros lugares) usam /original/* ou /optimized/*.
Se movermos tudo da pasta default um nível acima (para a raiz), as imagens ficarão em /*.
E não, não há pastas dentro de defaults, apenas arquivos de upload. Parece conter arquivos com nomes padrão de hash de 40 caracteres, bem como alguns com sufixos como “_2_10x10” (que presumo serem de otimizados).
Como você sugere resolver isso? Corrigir todos os posts com novos links levará tempo. É possível agrupar os arquivos nas pastas corretas com base nesse nome de arquivo?
Isso é… inesperado. Teremos que corrigir manualmente várias coisas, então.
A pergunta mais importante seria: “os novos uploads estão indo para o local correto?”
Supondo que isso seja verdade, você pode colocar os uploads antigos em um local conhecido e ajustar a entrada deles no banco de dados. Quantos arquivos existem em /default/?
Os novos uploads estão funcionando conforme o esperado nas subpastas, felizmente. E os links nas postagens apontam para o local correto.
Há mais de 10 mil arquivos em /default/. Editar cada postagem manualmente parece ser um grande trabalho. Existe alguma maneira de automatizar isso? Talvez com uma substituição por regex em todas as postagens?
Esse é o plano, sim. O próximo passo é colocar todos os arquivos AWOL em um local conhecido. No bucket, quais subdiretórios existem em /original/? Deveria haver /1X/ e pode haver outros.