此方法与在用户界面中恢复文件不同。虽然可能导致更多的停机时间,但对于没有Discourse知识的Linux用户来说更为简单,且易于自动化。
准备新的VPS
首先,准备我们的新Ubuntu LTS VPS,确保Discourse目录为空,操作系统已升级并安装Docker。
sudo mkdir -p /var/discourse
sudo apt-get update
sudo apt-get dist-upgrade
wget -qO- https://get.docker.com/ | sh
然后,通过重启确保我们使用的是最新安装的内核和其他库。
sudo reboot
将文件复制到新VPS
让我们复制所有Discourse文件,此首次同步将减少我们后续的停机时间。
在我们的新VPS上运行以下命令:
rsync -rvz example.com:/var/discourse /var
其中example.com
是我们旧VPS的地址,包含论坛文件。
这可能需要一些时间,不妨享用你喜爱的饮品。
关闭当前论坛并再次同步
在首次同步后,通过以下命令关闭旧VPS上的论坛:
cd /var/discourse/
./launcher stop app
论坛停止后,再次在新VPS上运行同步:
rsync -rvz --delete example.com:/var/discourse /var
--delete
确保文件是1:1的复制。
在新主机上启动论坛
在最终同步后,我们终于可以运行Discourse。
重建并启动容器。
这可能需要几分钟时间。
./launcher rebuild app
完成!
所有设置、帖子、线程、备份都已复制到新位置,无需用户界面交互。