3月初め頃、Discourseのバックアップが失敗するようになりました。
設定は変更されていませんが、Discourseのアップグレードがあった可能性が高いです。
バックアップはローカルストレージに保存されており、設定では最大バックアップ数を3に、バックアップ頻度も3回に設定していますが、それ以外の設定はデフォルトのままです。
手動バックアップは実行可能で動作しますが、手動バックアップを行う際に、以前はtar.gz形式だったバックアップファイルが現在はsql.gz形式になっていることに気づきました。
しかし、自動バックアップは実行されず、実行されたように見えるものの、エラーの報告は一切ありません。「バックアップ」セクションには「利用可能なバックアップがありません」と表示され(数日前に行った手動バックアップも含まれており、それも消えています)、また「バックアップ ➤ ログ」には「まだログがありません…」と表示されます。
サーバー(Digital Ocean Droplet全体)を再起動してみましたが、バックアップの再開には至りませんでした。
バージョンは2.6.3で最新の状態です(「latest」ブランチではなく「stable」ブランチを使用しています)。
何かご提案はありますか?
gerhard
(Gerhard Schlager)
2
すべてのアップロードが S3 に保存されている場合、これは予想される挙動です。その場合、バックアップファイルは圧縮されたデータベースダンプのみとなります。
/logs を確認してください。バックアップに関連するエラーはありますか?
また、システムが失敗したバックアップに関する PM を送信したかどうかを確認するために、/u/system/messages/sent も確認してください。特定の条件下で、管理者がこれらの PM に関する通知を受け取れなくなるバグがありました。
手動バックアップまで消えているのは少し心配です。maximum_backups を 3 に設定しているのに、それがどうして起こったのか分かりません。バックアップを移動・削除する cronjob やスクリプト、あるいは新しいファイル拡張子(tar.gz ではなく sql.gz)に対応していない何かを設定していませんか?
バックアップファイルは本当に存在しないのでしょうか?ls /var/discourse/shared/standalone/backups/default を実行すると何と表示されますか?
それは正常です。ログには手動バックアップの出力のみが表示されます。
確認したところ、2.6 のリリース以降、バックアップコードに変更はありませんでした。
私のアップロードは S3 には保存されておらず、すべてローカルに保存されています。
目に見えるものはありません。いつものような TypeError の乱れがありますが、これは以前から見ています。「backup」で検索しても、たまたま「backup」という単語を含むフォーラムトピックの Web ページに関連する TypeError 以外は何も見つかりません。
ああ、見てみると、「Backup failed」メッセージがいくつかあります。なぜ私がこれらのアラートを受け取らないのでしょうか?
まあ、なぜ私がこれらをレポートとして受け取らないのかはわかりませんが、エラーは次の通りです:
[2021-04-08 03:35:35] 一時ディレクトリ ‘/var/www/discourse/tmp/backups/default/2021-04-08-033313’ を削除中…
[2021-04-08 03:35:35] アーカイブを gzip 圧縮中、時間がかかる場合があります…
[2021-04-08 03:38:49] 例外: lib/discourse.rb:92:in `exec’: アーカイブの gzip 圧縮に失敗しました。
gzip: /var/www/discourse/public/backups/default/keyboard-maestro-discourse-2021-04-08-033313-v20201116132948.tar.gz: デバイスに空き容量がありません
実際、それは外部スクリプトです。バックアップを別のマシンにコピーして永続的に保存し、サーバーの容量を確保するために削除します(ただし、明らかに容量が十分ではありません)。
残っている質問は以下の通りです:
- なぜこれらのエラーメッセージのアラートを受け取らないのか?
- 実際のバックアップが .tar.gz ファイルであるのに、なぜ手動バックアップは .sql.gz ファイルなのか(どちらもアップロードを含めるはずだが、アップロードはローカルにある)?
- なぜ手動バックアップは動作するのに、自動バックアップは容量不足になるのか(おそらく関連しており、手動バックアップが実際にはアップロードを含んでおらず、そのため小さいのかもしれないが、サイズは適切に見える)?
- そして明白な質問だが、サーバーにどのようにして追加の容量を確保すればよいのだろうか?[編集:OK、
./launcher cleanup を実行して 15GB の容量を解放したため、これで問題が解決するはずだ]。
まあ、少なくとも今では問題が何かわかりました。特に最初の質問の答えを知りたいです。明らかにこの件について通知されるべきだからです。これらのメッセージは誰にメールで送られるのか、誰が通知を受けるのでしょうか?将来これについて確実に知るにはどうすればよいですか?
ありがとう!
gerhard
(Gerhard Schlager)
4
前述の通り、このバグは最近のベータリリースのいずれかで修正されています。
おそらく、UI でバックアップを作成する際に表示されるダイアログで、アップロードを含まない手動バックアップを作成するオプションを選択されたのだと思います。
ありがとうございます、問題なさそうです。バックアップを再確認し、バックアップ作成時に間違ったボタンを押してしまったことを確認します。
大変助かりました!