Я пересобрал систему из командной строки вчера, и сегодня заметил, что многие аватары пользователей отсутствуют (аналогично этой теме от 2019 года).
Я попробовал запустить rake avatars:refresh, но проблема сохраняется.
Я пересобрал систему из командной строки вчера, и сегодня заметил, что многие аватары пользователей отсутствуют (аналогично этой теме от 2019 года).
Я попробовал запустить rake avatars:refresh, но проблема сохраняется.
Проблема сохраняется и через 2 дня?
@codinghorror Да, даже discobot:
Это в основном затрагивает всех пользователей, которые загружали изображение (не используя Gravatar) два года назад, до того как я переключился с локальных загрузок на S3. По какой-то причине проблема проявилась только после последней сборки.
В какой-то момент загрузки переместились из папки uploads в uploads/default. У меня на другом сайте возникает немного другая проблема, связанная с этим.
Вам нужно посмотреть в базе данных URL этих повреждённых загрузок… и что-то ещё. Я не совсем уверен. Если бы я только был в Барселоне.
Спасибо, Джей. Мы приближаемся. Я проверил четыре URL-адреса аватаров и заметил, что URL-адреса двух работающих и двух неработающих (выделены синим) начинаются с разных доменов:
Однако фактические URL-адреса, которые я вижу на сайте, отличаются:
https://MY_DOMAIN/user_avatar/MY_DOMAIN/USERNAME/75/USER_ID_2.png
Я хотел бы попробовать заменить префикс перед .amazonaws.com, но не уверен, что это хорошая идея (или как это сделать).
На всякий случай, если это важно, я также использую Cloudfront в качестве CDN для S3.
Этот синий домен используется нами в нашем хостинге. Переходили ли вы в какой-то момент на другой хостинг? Если да, вам необходимо обновить его, чтобы он соответствовал вашему новому бакету.
Да, должно быть так.
Но как именно и что мне нужно изменить? Поскольку изображения больше недоступны, я не могу загрузить их заново. Или, возможно, я могу получить их из старой резервной копии и загрузить заново через API
При перемещении бакетов вам нужно выполнить переназначение с помощью Replace a string in all posts.
Конечно, сначала файлы должны находиться в новом бакете
. Если они есть в вашем старом резервном копировании, вам следует синхронизировать их с бакетом.
Просто гипотетически,
есть ли у меня другой вариант, если у меня нет резервной копии этих S3-ресурсов? Мне трудно его найти.
Сохраняет ли discourse-cloud-file-uploads версии/кэш где-либо?
Мы храним эти файлы в течение срока действия активной подписки и лишь в течение нескольких дней после её отмены.
Спасибо, Рафаэль.
Если при извлечении одной из моих старых резервных копий я вижу только файл dump.sql, означает ли это, что загрузка файлов в неё не включена? Я почти уверен, что у меня была включена настройка backup with uploads, так как она включена по умолчанию.
Я вижу, что у меня почти 10 ГБ загруженных файлов (в панели администратора /admin). Есть ли способ получить к ним доступ через командную строку? Я посмотрел в /var/discourse/shared/standalone/uploads/, но там занято всего 11 МБ.
Есть ли где-то ещё, где я мог бы их поискать, или мне следует считать эти файлы безвозвратно утерянными?
В настройках сайта есть параметр backup with uploads. Попробуйте его.
Спасибо, Джей.
У меня эта настройка была включена ещё в 2019 году, когда пользователи загружали свои аватары. Затем в 2020 году я перешёл на S3, и на прошлой неделе все аватары 2019 года исчезли. Я пытаюсь найти способ их восстановить, потому что мои старые резервные копии, похоже, содержат только файлы dump.sql без загрузок.
Извините, я потерял контекст вашего сообщения, когда отвечал. Мне кажется, что панель управления относится к загрузкам в S3, а не к локальным файлам.
Если эти аватары находились в S3-бакете discourse.org, то они утеряны. Если вы мигрировали с них и сделали резервную копию после отмены аккаунта, то вы получили бы полную резервную копию с загрузками. Есть ли у вас какие-либо резервные копии большего размера и/или файлы .tar.gz?
Похоже, вы ссылались на ресурсы discourse.org, и они больше недоступны.
Самая большая резервная копия 2019 года, которая у меня есть, весит 59 МБ, но при её извлечении я получаю только файл dump.sql размером 217 МБ ![]()
Мне очень жаль. Похоже, вы мигрировали с discourse.org, не получив свои загрузки.
Урок усвоен.
Спасибо, в любом случае