inj3ct0r
(inj3ct0r)
04.Июнь.2023 22:13:46
1
Привет
Я только что удалил свой старый 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?
inj3ct0r
(inj3ct0r)
05.Июнь.2023 04:16:24
3
Я делаю это через интерфейс
Canapin
(Coin-coin le Canapin)
05.Июнь.2023 14:21:06
4
Я не эксперт в этом вопросе, но мне кажется, что ваша резервная копия неполная или повреждена. Есть ли у вас другая?
pfaffman
(Jay Pfaffman)
05.Июнь.2023 14:45:51
5
Мне кажется, что somehow вся резервная копия не была передана или загружена.
Попробуйте переместить её через scp/rsync. Она должна находиться в
/var/discourse/shared/standalone/backups/default
Jagster
(Jakke Flemming)
05.Июнь.2023 15:08:03
6
Это в общем-то просто соль на открытую рану, но в следующий раз используйте rsync для /var/discourse/, и после этого решение с setup-script станет гораздо проще.
Но конечно — каждый время от времени должен проверять, что восстановление действительно происходит.
inj3ct0r
(inj3ct0r)
05.Июнь.2023 16:49:18
7
Я думаю, что это полностью завершено, потому что я попробовал другой вариант, и проблема осталась та же.
inj3ct0r
(inj3ct0r)
05.Июнь.2023 16:50:28
8
на самом деле оно уже загружено
inj3ct0r
(inj3ct0r)
05.Июнь.2023 16:51:18
9
У меня мало опыта работы с Discourse, поэтому я не знаю, как выполнить rsync и каковы были последствия.
pfaffman
(Jay Pfaffman)
05.Июнь.2023 17:08:35
10
Это не похоже на имя файла резервной копии Discourse. Это должен быть файл с расширением .tar.gz или .sql.gz.
Возможно, файл повредился при попытке его загрузки.
inj3ct0r
(inj3ct0r)
05.Июнь.2023 19:17:00
12
Я пересоберу контейнер и загрузлю новый.
inj3ct0r
(inj3ct0r)
05.Июнь.2023 19:46:38
13
Наконец-то всё получилось!
После множества попыток восстановить резервную копию, по какой-то неизвестной мне причине, они не удались.
Я пересобрал сервер на Ubuntu 22, затем установил docker-ce, снова загрузил Discourse и установил его — и всё прошло гладко!
Спасибо всем <3
Jagster
(Jakke Flemming)
05.Июнь.2023 20:23:16
14
rsync — обычная команда для всех дистрибутивов Linux. Это один (и довольно распространённый) способ копирования директорий и файлов с одного сервера на другой. Она не является частью Discourse, а относится к вашей ОС.