Я переехал с хостинга Discourse на собственный хостинг, но потерял все изображения на своём форуме. Я понял это слишком поздно, и с момента миграции прошло уже более 30 дней.
Когда я это осознал, я выполнил следующий код, но он не сработал:
> ./launcher enter app
> rake posts:rebake
Я обратился в поддержку Discourse, но они сообщили, что не могут восстановить резервную копию, так как прошло более 30 дней. Что я могу сделать, чтобы решить эту проблему:
Мне не хочется это говорить, но, возможно, здесь вам уже ничем не помочь.
Если вы не сделали полную резервную копию, включающую изображения, и не осознали это после того, как ваш хостинг-провайдер удалил свои собственные резервные копии, то данные, скорее всего, утеряны.
Если вы не против, что я спрашиваю, что произошло, если прошло целое месяца, прежде чем вы обнаружили, что изображений нет в резервной копии? Сайт был недоступен в течение целого месяца?
Скорее всего, вы скачали резервную копию до отмены аккаунта, и в неё не входили загруженные файлы.
Вы можете очень вежливо попросить их временно восстановить загрузку в S3. Со мной такое уже случалось, когда они занимались очисткой старых бакетов S3, и они смогли на время восстановить загрузку в S3.
Если они смогут это сделать, вы сможете загрузить эти изображения из S3 и затем снова загрузить их в свой собственный бакет S3 или каким-либо другим способом импортировать их в Discourse. Это довольно трудоемкая задача, но она выполнима.
Это вероятно; ссылка на финальную полную резервную копию включает загрузки S3, но другие резервные копии — нет.
Я не могу найти никаких предыдущих запросов в поддержку от этого аккаунта. С аккаунта, привязанного к электронной почте вашего бывшего сайта, отправьте личное сообщение @team с названием сайта, и я перепроверю, чтобы убедиться, что загрузки больше недоступны.
Вы этого не замечаете, так как перенесённый сайт продолжает загружать изображения из CDCK S3, пока они не будут удалены, а тогда уже будет слишком поздно.
У нас также включена блокировка версий в S3-бакете для наших загрузок, поэтому даже после их удаления мы можем восстановить их в течение определённого периода времени.
Я понимаю, как работает S3 — это обычно огромный плюс при переносе сайта между серверами. Я имел в виду относительно значительную разницу в размерах файлов.
У нас есть форумы с огромной базой данных и (относительно) небольшим количеством загрузок. Я совершенно не смогу предсказать, насколько велика будет резервная копия такого форума, и не смогу отличить резервную копию с резервными копиями от той, где их нет, особенно если присутствует только одна из двух.
Кажется, я просто принадлежу к старшему поколению. Мои дни работы в отделе эксплуатации начались со стопок лент, и главным принципом было то, что резервная копия не считается таковой, пока вы не подтвердите, что она работает и содержит ожидаемые данные. Нет ничего хуже, чем потратить часы на извлечение данных с LTO-ленты и понять, что права доступа или блокировки файлов помешали агенту резервного копирования захватить критически важные файлы.
Если текущий порядок вещей может запутать как новых, так и опытных пользователей, возможно, нам стоит добавить более явный индикатор в имя файла, приписав complete и no-uploads? Существующий подход создаёт у пользователей ложное чувство безопасности, поэтому здесь определённо есть пространство для улучшений.
Что ж, думаю, мы с вами одного поколения, и я бы тоже на это не повелся.
С одной стороны, мы (как сообщество) постоянно говорим людям: «Идите и хостите сами, это легко, просто следуйте инструкциям», а теперь ожидаем, что они не только проверят размер своих резервных копий, но и просмотрят содержимое файла .tar.gz, о котором, вероятно, никогда не слышали и не знают, как это сделать. Даже если они это сделают, трудно сказать, достаточно ли файлов уже загружено. Большинство форумов, хранящих загрузки на S3, имеют также и локальные файлы. Ситуация не столь однозначна: либо все файлы на месте, либо их нет вовсе.
Проблема восстановления форума, у которого загрузки остались на предыдущем месте в S3, в том, что процесс действительно работает. Всё выглядит нормально, пока через месяц загрузки не исчезнут. И даже если файлы отсутствуют, разве процесс восстановления не говорит, что нормально видеть «отсутствующие изображения» и что со временем всё исправится?
Возможно, нам нужно определять, когда восстановление резервной копии выполняется на новом экземпляре, и предупреждать пользователя, что файлы не были включены в только что выполненное восстановление.