ウェブサイトのバックアップインターフェイスに入ると、現在のすべてのバックアップ状況が表示されます。
ダウンロードボタンをクリックします。
ダウンロードすると、システムからメールアドレスにリンクが送信されることに注意してください。
メールで受信したリンクを使用してデータをダウンロードできます。
ダウンロードリンク
メールで受信したダウンロードリンクアドレスをクリックしてダウンロードします。
ダウンロードされるファイルは tar.gz ファイルであり、解凍してから使用する必要があります。
例えば、現在のダウンロードファイルは次のとおりです:isharkfly-2023-09-14-092024-v20230910021213.tar
一連の複雑な解凍パスを経て、dump.sql というファイルが見つかります。
このファイルがすべてのデータベースバックアップです。
データ復旧
Windows 下での PQadmin の psql のインストールパスは次のとおりです:C:\Users\yhu\AppData\Local\Programs\pgAdmin 4\v7\runtime
実行コマンドは次のとおりです:psql -h nas1120 -p 5433 -U postgres -W -d discourse -f C:\\Users\\yhu\\Downloads\\isharkfly-2023-09-14-092024-v20230910021213\\isharkfly-2023-09-14-092024-v20230910021213\\dump.sql\\dump.sql
ローカルデータベースは、復旧時に上書きできません。
ローカルデータベースが既に存在する場合、復旧を行う前にローカルに存在するデータベースをクリアする必要があります。
バックアップ復旧プロセスでは、すべてのデータとテーブル構造を復旧する必要があります。
復旧プログラムは、既存のデータ構造上で復旧したり、増分復旧を行ったりすることはできません。
テーブルデータの確認
テーブルデータを確認し、一部のテーブルデータが現在に復旧されていることを確認します。
タイムスタンプは通常、検証の良い方法です。
「いいね!」 1
Lhc_fl
(Linca)
2
補足。
メールサービスが失敗した場合、ssh権限を持つ管理者は /var/discouse/{standalone | web_only}/backup/default で全てのバックアップファイルを確認できます。
A note:
If the mail service fails, admin with ssh permissions can see all backup files in /var/discouse/{standalone | web_only}/backup/default.
「いいね!」 3
Minio を使用したバックアップ方法について教えてください。ログのエラーメッセージが理解できません。ログは以下の通りです。
....
[2023-10-03 13:33:24] Removing tmp '/var/www/discourse/tmp/backups/default/2023-10-03-133319' directory...
[2023-10-03 13:33:24] Gzipping archive, this may take a while...
[2023-10-03 13:33:25] Uploading archive...
[2023-10-03 13:33:27] EXCEPTION: Aws::S3::Errors::Forbidden
[2023-10-03 13:33:27] /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:445:in `rescue in exists?'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:440:in `exists?'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:46:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:344:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31: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-10-03 13:33:27] Deleting old backups...
[2023-10-03 13:33:28] Cleaning stuff up...
[2023-10-03 13:33:28] Removing archive from local storage...
[2023-10-03 13:33:28] Removing '.tar' leftovers...
[2023-10-03 13:33:28] Marking backup as finished...
[2023-10-03 13:33:28] Notifying 'XXX' of the end of the backup...
上記のログは、S3 の権限がないことを示しているはずです。
S3 の権限設定が正しいか確認してください。
以下は私の設定です。どこで問題が発生しているか、専門家の方々にご確認いただけますでしょうか。
- Discourse 設定
- Minio バックアップバケットの権限設定
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::discourse-backup"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::discourse-backup/*"
]
}
]
}
- Minio アップロードバケットの権限は public
この記事は、以前のパススタイル時のもので、現在はDNSスタイルのみをサポートしています。MinIOを使用する設定チュートリアルは、インターネット上では見つかりません。
Minio の設定かもしれません。
他のツール、例えばバケットに直接アクセスできるツールを使って、直接アップロードできるか試してみてください。
ここで直接アップロードできる場合は、Discourse の設定の問題である可能性が高いです。ここで直接アップロードできない場合は、権限の問題である可能性が高いです。