首页 教程 分类 Skills下载 关于
ZH EN JA KO
安装部署

OpenClaw服务器迁移指南

· 8 分钟

迁移场景

随着使用规模的增长或基础设施调整,你可能需要将OpenClaw从一台服务器迁移到另一台。常见的迁移场景包括:从低配服务器升级到高配服务器、从一个云服务商切换到另一个、从本地开发机迁移到生产服务器、或者从VPS迁移到专用主机。

无论哪种场景,迁移的核心目标都是:确保配置完整转移、连接不中断、数据不丢失。本文将提供一套系统化的迁移流程。

迁移前准备

了解数据结构

OpenClaw的所有关键数据都集中在~/.openclaw/目录中。这个目录包含:

  • openclaw.json:主配置文件,包含AI模型设置、聊天平台凭证等
  • data/:运行时数据和消息记录
  • logs/:日志文件(可选迁移)

检查当前环境

在旧服务器上记录关键环境信息:

openclaw --version
node --version
cat ~/.openclaw/openclaw.json | head -5

记下OpenClaw版本号和Node.js版本,确保新服务器上安装相同或更高版本。

在新服务器上准备环境

在迁移之前,先在新服务器上完成基础环境搭建:

  1. 安装Node.js 22+(不要使用Bun)
  2. 安装OpenClaw
# 安装Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 安装OpenClaw
npm install -g openclaw@latest

验证安装:

node --version
openclaw --version

备份旧服务器数据

停止OpenClaw服务

在备份之前,先停止运行中的OpenClaw服务,确保数据一致性:

# 如果使用systemd
sudo systemctl stop openclaw

# 如果手动运行
# 找到进程并终止
pkill -f "openclaw start"

打包配置目录

将整个~/.openclaw目录打包:

tar czf openclaw-backup-$(date +%Y%m%d).tar.gz -C ~ .openclaw

记录服务配置

如果你配置了systemd服务,也需要备份服务文件:

cp /etc/systemd/system/openclaw.service ~/openclaw-service-backup.service

如果配置了Nginx反向代理,同样备份:

sudo cp /etc/nginx/sites-available/openclaw ~/openclaw-nginx-backup.conf

传输数据到新服务器

使用scp或rsync将备份文件传输到新服务器:

使用scp

scp openclaw-backup-*.tar.gz user@新服务器IP:~/
scp openclaw-service-backup.service user@新服务器IP:~/

使用rsync(推荐,支持断点续传)

rsync -avz --progress openclaw-backup-*.tar.gz user@新服务器IP:~/

如果两台服务器之间网络不通,可以先下载到本地再上传,或者使用中转存储(如对象存储)。

在新服务器上恢复数据

解压配置目录

cd ~
tar xzf openclaw-backup-*.tar.gz

这会将.openclaw目录恢复到新服务器的用户主目录下。

验证配置文件

检查配置文件是否完整恢复:

ls -la ~/.openclaw/
cat ~/.openclaw/openclaw.json

确认配置文件中的AI模型密钥、聊天平台凭证等信息完整无误。

检查路径兼容性

如果新旧服务器的用户名不同,可能需要更新配置文件中的路径引用。打开~/.openclaw/openclaw.json检查是否有硬编码的路径需要修改。

配置新服务器的服务

配置systemd服务

在新服务器上创建systemd服务文件。你可以基于备份的服务文件修改:

sudo nano /etc/systemd/system/openclaw.service

确保更新以下字段以匹配新服务器的环境:

  • UserGroup:新服务器的用户名
  • ExecStart:OpenClaw可执行文件的正确路径
  • WorkingDirectoryEnvironment中的HOME路径
sudo systemctl daemon-reload
sudo systemctl enable openclaw

配置反向代理(如需要)

如果旧服务器使用了Nginx反向代理,在新服务器上也进行相应配置:

sudo apt install -y nginx certbot python3-certbot-nginx
sudo nano /etc/nginx/sites-available/openclaw

配置内容可以参考之前备份的文件。如果域名指向也要迁移,需要同步更新DNS记录。

启动并验证

启动OpenClaw服务

sudo systemctl start openclaw

运行诊断检查

openclaw doctor

仔细检查每一项诊断结果,确保:

  • Node.js版本满足22+要求
  • 配置文件加载正确
  • AI模型API连接正常
  • 各聊天平台连接状态正常

检查管理面板

openclaw dashboard

通过浏览器访问新服务器的管理面板,确认所有功能正常工作。

DNS和域名迁移

如果你为OpenClaw配置了自定义域名,需要更新DNS记录指向新服务器的IP地址。

建议的步骤:

  1. 先降低DNS TTL值(例如设为60秒),等待旧TTL过期
  2. 确认新服务器一切正常后,更新DNS A记录指向新IP
  3. 等待DNS传播完成(通常几分钟到几小时)
  4. 确认域名解析到新服务器后,再关闭旧服务器

处理SSL证书

如果使用Let's Encrypt证书,在新服务器上重新申请即可:

sudo certbot --nginx -d openclaw.yourdomain.com

验证聊天平台连接

迁移后最重要的一步是验证所有聊天平台的连接是否正常:

  • WhatsApp:检查WebSocket连接状态,可能需要重新扫码认证
  • Telegram:Bot Token不受服务器变更影响,但需要更新Webhook URL
  • Discord:同样需要确认Webhook和Bot连接正常

如果某个平台的Webhook URL中包含旧服务器的域名或IP,需要在对应平台的开发者控制台中更新。

旧服务器收尾

确认新服务器完全正常运行后:

  1. 在旧服务器上停止OpenClaw服务
  2. 保留旧服务器的备份数据至少7天
  3. 取消旧服务器的开机自启设置
  4. 确认没有流量到达旧服务器后,可以安全关闭
# 旧服务器上执行
sudo systemctl stop openclaw
sudo systemctl disable openclaw

迁移检查清单

总结一下完整的迁移检查清单:

  • 新服务器Node.js 22+已安装
  • OpenClaw已安装且版本匹配
  • 配置目录~/.openclaw/已完整恢复
  • systemd服务已配置并启用
  • openclaw doctor所有检查通过
  • 管理面板可正常访问
  • 所有聊天平台连接正常
  • Webhook URL已更新
  • DNS记录已更新(如适用)
  • SSL证书已配置(如适用)
  • 旧服务器已安全停用

总结

服务器迁移虽然步骤较多,但只要遵循系统化的流程,就能确保OpenClaw的平稳过渡。关键在于:完整备份~/.openclaw/配置目录、在新环境中验证所有连接、以及在确认一切正常后再关闭旧服务器。通过本指南的检查清单,你可以放心地将OpenClaw迁移到任何新的服务器环境中。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入