復元に失敗しました。ログを確認してください

こんにちは

古いVPSを削除して新しいVPSを購入しました(すべてHetznerです)。最後の編集をバックアップしようとしています。
ログは以下の通りです。

[2023-06-04 13:01:35] /var/www/discourse/tmp/restores/default/2023-06-04-130135 が存在することを確認しています...
[2023-06-04 13:01:35] アーカイブをtmpディレクトリにコピーしています...
[2023-06-04 13:01:36] アーカイブの解凍中、これには時間がかかる場合があります...
[2023-06-04 13:01:36] 例外: /var/www/discourse/lib/discourse.rb:137:in `exec': アーカイブの解凍に失敗しました。

gzip: stdin: 無効な圧縮データ -- フォーマット違反
tar: アーカイブの予期しないEOF
tar: アーカイブの予期しないEOF
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] tmp '/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のどちらで行っていましたか?

UIでやっています

この件については専門家ではありませんが、バックアップが不完全か破損しているように思われます。他にバックアップはありますか?

「いいね!」 3

バックアップ全体が転送またはアップロードされなかったのではないかと推測します。

scp/rsyncで移動させてみてください。
/var/discourse/shared/standalone/backups/defaultにある必要があります。

「いいね!」 2

これは開いた傷に塩を塗るようなものですが、次回は rsync /var/discourse/ を実行し、その後 setup-script を実行する方がはるかに簡単なソリューションになります。

しかし、もちろん、誰もが時々復元が実際に行われていることをテストする必要があります。

もう一つ試しましたが、同じ問題が発生したので、完全に完了したと思います。

アップロード済みです

Discourseでの経験があまりないので、rsyncの方法やその影響がわかりません。

Discourseのバックアップのファイル名ではないようです。.tar.gzまたは.sql.gzファイルである必要があります。

そのため、ダウンロードしようとしたときにファイルが破損した可能性があります。

「いいね!」 3

コンテナを再構築して、別のものをアップロードします。

ついにうまくいきました!

バックアップを復元しようと何度も試しましたが、理由不明で失敗しました。

サーバーをUbuntu 22で再構築し、その後docker-ceをインストールしました。
そして、Discourseを再度プルしてインストールしました。
すべて順調に進みました!

皆さん、ありがとうございました <3

「いいね!」 1

rsync は、すべての Linux ディストリビューションの通常のコマンドです。サーバー間でディレクトリやファイルをコピーする一般的な方法の 1 つです。Discourse の一部ではなく、お使いの OS の一部です。

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.