Discourse迁移服务器的时候备份包括组件吗?

Discourse迁移服务器的时候需要提前安装相同的插件,那组件要提前安装还是备份恢复就会带过去?

而且组件和插件的设置用备份恢复后还要重新设置吗

恢复后不需要重新设置。

恢复的结果和备份的数据是一致的,包括配置。

是只需要提前安装插件还是插件和组件都要提前安装

恢复只会恢复数据库。

我建议是先拷贝 app.yml 配置文件,保持和老服务器的一致。

然后重构一次,最后再对数据库进行恢复,最后再重构一次。

重构会拷贝最新的数据过来。

针对老服务器,也最好是先重构,同时对所有的主题 rebake 一次。要不然可能会丢链接。

app.yml里面不是只有插件吗?

是的,只有插件在里面。

主题是安装在程序内的。

我们反正是为了保持一致,全部都更新了一次。

理解了,主要组件有点多,很多还是我自己写的,一想到要全部重新装有点麻

重装这个需求可能会有。

因为我们现在的服务器是部署在 Fedora 上的,但这个操作系统版本已经不更新了。

并且 VPS 的价格并不比一个物理服务器便宜多少,磁盘空间的使用也到了 70% 以上。

基于上面的一些要素来看,基本上也到了需要更新服务器的阶段了,不想接着扩容 VPS,结果可能是最终要迁移。

拿着另外一台服务器做了一天的测试,只要备份什么的没有问题,迁移还是问题不大。

不管怎么样,在没有完全配置好之前,不要删除老服务器就好了。

会的吧,我迁移了好几次了,组件我就没管过,貌似是直接写在论坛数据里的,一直都在,不过为了保险,我都是有个文件,专门记录我装了那些组件,就怕意外情况

组件方面我们用得比较少,而且就算是 zip 包我们也上传到自己的 Git 上。

所有的都从 git 上装,怕丢代码。

是的,这是最保险的

1 Like

我突然发现一个问题,你之前迁移S3出错好像是在ssh里面?我记得我上次迁移是直接在管理面板上传备份恢复的

你迁移是提前装了插件,然后组件不用管是吗?你是安装好之后再管理面板上传备份恢复还是在服务器恢复的?

好像有些插件是的,还重新装了。

当这次什么都没有改,直接恢复就可以用了。

是的

直接在命令行恢复备份

直接复制过去不省事嘛 改一下域名即可 然后在直接重置 用IP可以直接访问 进去后直接先新建然后狂跳过然后 备份 注意 论坛的备份是高压缩 你别看只有10GB压缩出来就有40多或者90GB

是的,Discourse 用的是 Linux 里面常用的 tar.gz。

其实是 2 个命令,第一个是 tar 成一个文件包,然后 gz 压缩。

gz 压缩的压缩比比较高。

file type .jpg .mp3 .mp4 .odt .png .txt
number of files 2163 45 279 2990 2072 4397
space on disk 98M 99M 99M 98M 98M 98M
tar 94M 99M 98M 93M 92M 89M
zip (no compression) 92M 99M 98M 91M 91M 86M
zip (deflate) 87M 98M 93M 85M 77M 28M
tar + gzip 86M 98M 93M 82M 77M 27M
tar + bz2 87M 98M 93M 42M 71M 22M
tar + xz 70M 98M 22M 348K 51M 19M

对比数据来源:Tar Vs Zip Vs Gz : Difference And Efficiency

PGSQL dump 的文件是 SQL,SQL 其实是文本,针对文本的压缩比会很高。

也会有同样的问题。

通过管理员面板上传恢复后会在最后出现 S3 的错误。

当出现 S3 的错误后,整个恢复过程都会回滚。

也是因为在图形界面恢复的时候恢复不了,我们才想到用命令行的方式恢复。

在恢复完数据后,进入准备恢复附件的阶段,使用 Ctrl+C 中断整个恢复过程而跳过这个恢复。