b481
1
在从同一提供商迁移时遇到了完全相同的问题,不过该主题已经关闭,所以我还是另开一个帖子吧,因为我已经黔驴技穷,不知道该怎么解决这个问题了。
以下是日志
[2020-08-30 02:34:59] [STARTED]
[2020-08-30 02:34:59] 'username' 已开始恢复!
[2020-08-30 02:34:59] 将恢复状态标记为运行中...
[2020-08-30 02:34:59] 确保 /var/www/discourse/tmp/restores/default/2020-08-30-023459 存在...
[2020-08-30 02:34:59] 正在将归档文件复制到临时目录...
[2020-08-30 02:35:00] 正在解压归档文件,这可能需要一些时间...
[2020-08-30 02:35:01] 正在提取转储文件...
[2020-08-30 02:35:07] 正在验证元数据...
[2020-08-30 02:35:07] 当前版本:20200820232017
[2020-08-30 02:35:07] 恢复版本:20191209095548
[2020-08-30 02:35:07] 正在启用只读模式...
[2020-08-30 02:35:07] 正在暂停 Sidekiq...
[2020-08-30 02:35:07] 等待 Sidekiq 完成作业,最长等待 60 秒...
[2020-08-30 02:35:14] 正在 discourse_functions 模式中创建缺失的函数...
[2020-08-30 02:35:15] 正在恢复转储文件..
Falco
(Falco)
2
该表不属于 Discourse,我想这是 NodeChef 的问题?
无论如何,你需要编辑备份文件,并移除该表的数据和引用。
b481
3
另外,有点好奇,他们预装了不少插件。我的新构建需要预先安装这些插件备份才能工作,还是可以在之后安装?
Stephen
(Stephen)
4
即使没有它们,恢复操作也不会失败,但在运行恢复之前,最好确保 app.yml 中所有内容都已就位。
RGJ
(Richard - Communiteq)
7
不,没问题,恢复过程会自动将其更新到当前版本。
不过在这种情况下,强烈建议先安装插件,然后再恢复备份。
b481
8
我仅在 .sql 文件中找到了这一处实例。希望删除高亮部分应该能解决问题。(我推测上面那个指的是 public.spatial_ref_sys)
另外,如何将修改后的 dump.sql 替换 tar.gz 文件中的原文件?
RGJ
(Richard - Communiteq)
9
# 压缩 dump.sql 并放入与备份相同的目录
gzip dump.sql
# 将备份文件复制为 fixed-* 开头,请将此处的文件名替换为您自己的备份文件名
cp backupfilename-2020-08-30-123456-v20200830123456.tar.gz fixed-backupfilename-2020-08-30-123456-v20200830123456.tar.gz
# 解压
gzip -d fixed-backupfilename-2020-08-30-123456-v20200830123456.tar.gz
# 从归档中删除原始的 dump.sql.gz
# 注意:在此步骤中,备份文件名不包含 .gz
tar f fixed-backupfilename-2020-08-30-123456-v20200830123456.tar --delete dump.sql.gz
# 添加新的 dump.sql.gz
# 注意:在此步骤中,备份文件名不包含 .gz
tar fr fixed-backupfilename-2020-08-30-123456-v20200830123456.tar dump.sql.gz
# 再次压缩
# 注意:在此步骤中,备份文件名不包含 .gz
gzip fixed-backupfilename-2020-08-30-123456-v20200830123456.tar
b481
10
谢谢 @RGJ,我的网站现在已经完全恢复正常运行了。只需要重新安装一些插件。
另外,非常感谢 @Falco 帮我最初定位问题。