Я создал новый экземпляр Discourse на другом домене и восстановил его из резервной копии. Всё прошло гладко. Однако ни один из логотипов не отобразился (все пустые, не по умолчанию). Поэтому я перешёл в меню «Брендинг», чтобы попытаться загрузить логотипы заново.
Вот лог Discourse при загрузке нового логотипа:
Новый : /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png Предыдущий : /images/discourse-logo-sketch.png
Но при проверке каталога загрузок этого конкретного изображения не оказалось:
/var/discourse# tree shared/standalone/uploads/default/ | grep 75a1
Обратите внимание, что это неверное имя файла логотипа (хеш?) совпадает с именем из оригинального экземпляра Discord, который всё ещё работает онлайн:
Новый : /uploads/default/original/1X/75a192f211147f512bdddabaf50addd43c6a9d86.png
Есть ли у вас какие-либо идеи, что здесь пошло не так? Стоит ли мне создать новый экземпляр и восстановить его из свежей резервной копии?
Вот обновление по этому вопросу. Сегодня я создал новый экземпляр, и логотипы успешно восстановились из резервной копии. Скорее всего, это была какая-то временная проблема.
Забудьте, проблема вернулась… Изначально логотипы отображались корректно, пока я не очистил кэш браузера.
Решение
Корень проблемы заключался в том, что большинство изображений не были корректно восстановлены из резервной копии в ходе операции восстановления. Мне удалось решить проблему, вручную распаковав архив и скопировав отсутствующие изображения в директорию загрузок Discourse.
Анализ
Когда я пытаюсь загрузить новый логотип, я наблюдаю следующее:
Очевидно, что изображения присутствовали в архиве, но возникает вопрос: почему большинство из них не были корректно скопированы в ходе операции восстановления?