Восстановление не удалось. Пожалуйста, проверьте логи

Привет

Я только что удалил свой старый VPS и купил новый (всё в Hetzner), и пытаюсь восстановить последнюю резервную копию.

Вот лог:

[2023-06-04 13:01:35] Проверка наличия /var/www/discourse/tmp/restores/default/2023-06-04-130135...
[2023-06-04 13:01:35] Копирование архива во временный каталог...
[2023-06-04 13:01:36] Распаковка архива, это может занять время...
[2023-06-04 13:01:36] ИСКЛЮЧЕНИЕ: /var/www/discourse/lib/discourse.rb:137:in `exec': Не удалось распаковать архив.

gzip: stdin: некорректные сжатые данные — нарушен формат
tar: Неожиданный конец файла в архиве
tar: Неожиданный конец файла в архиве
tar: Ошибка, не подлежащая восстановлению: завершение работы

[2023-06-04 13:01:36] /var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:33:in `execute_command'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:78:in `decompress_archive'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:20:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:33:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2023-06-04 13:01:36] Попытка отката...
[2023-06-04 13:01:36] Откат не требовался
[2023-06-04 13:01:36] Очистка временных файлов...
[2023-06-04 13:01:36] Удаление временного каталога '/var/www/discourse/tmp/restores/default/2023-06-04-130135'...
[2023-06-04 13:01:36] Пометка восстановления как завершённого...
[2023-06-04 13:01:36] Уведомление 'inj3ct0r' об окончании восстановления...
[2023-06-04 13:01:38] Готово!
[2023-06-04 22:08:20] ИСКЛЮЧЕНИЕ: /var/www/discourse/lib/discourse.rb:137:in `exec': Не удалось распаковать архив.

Вы делали это через UI или CLI?

Я делаю это через интерфейс

Я не эксперт в этом вопросе, но мне кажется, что ваша резервная копия неполная или повреждена. Есть ли у вас другая?

Мне кажется, что somehow вся резервная копия не была передана или загружена.

Попробуйте переместить её через scp/rsync. Она должна находиться в

/var/discourse/shared/standalone/backups/default

Это в общем-то просто соль на открытую рану, но в следующий раз используйте rsync для /var/discourse/, и после этого решение с setup-script станет гораздо проще.

Но конечно — каждый время от времени должен проверять, что восстановление действительно происходит.

Я думаю, что это полностью завершено, потому что я попробовал другой вариант, и проблема осталась та же.

на самом деле оно уже загружено

У меня мало опыта работы с Discourse, поэтому я не знаю, как выполнить rsync и каковы были последствия.

Это не похоже на имя файла резервной копии Discourse. Это должен быть файл с расширением .tar.gz или .sql.gz.

Возможно, файл повредился при попытке его загрузки.

Я пересоберу контейнер и загрузлю новый.

Наконец-то всё получилось!

После множества попыток восстановить резервную копию, по какой-то неизвестной мне причине, они не удались.

Я пересобрал сервер на Ubuntu 22, затем установил docker-ce, снова загрузил Discourse и установил его — и всё прошло гладко!

Спасибо всем <3

rsync — обычная команда для всех дистрибутивов Linux. Это один (и довольно распространённый) способ копирования директорий и файлов с одного сервера на другой. Она не является частью Discourse, а относится к вашей ОС.