honeymoose
(HoneyMoose)
1
进入网站的备份界面,会看到当前所有的备份情况。
单击下载按钮。
需要注意的是,当你下载后,系统将会发送一个链接到你的邮箱地址中。
你可以使用邮箱地址中收到的链接进行数据下载。
下载链接
单击邮件中收到的下载链接地址进行下载。
下载的文件为一个 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 Like
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 Likes
请问如何使用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...
以下是我的设置,请大佬看看是哪里设置出问题了:
- 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
这篇文章还是之前有path style时候的,现在只支持dns style了,全网找不到用minio的配置教程
honeymoose
(HoneyMoose)
8
那看看可能还是在 Minio 设置上面。
你试试,使用其他的工具,比如说能够直接访问存储桶的工具能不能直接上传。
如果这里能够直接上传的话,那多半是 Discourse 的配置问题,如果这里不能直接上传,那么多半是权限。