开始之前(你要迁移什么)
1)确定你的状态目录
环境变量 $OPENCLAW_STATE_DIR 定义了状态存储位置,默认为 ~/.openclaw/
bash
# 查看当前状态目录
echo $OPENCLAW_STATE_DIR
# 或使用默认位置
ls ~/.openclaw/
2)确定你的工作区
工作区默认位于 ~/.openclaw/workspace/,包含所有项目文件和会话数据。
3)了解你将保留什么
配置
openclaw.json 和所有通道配置
认证
所有平台的API凭证和令牌
会话
历史对话记录和上下文
渠道状态
所有已连接的平台状态
工作区文件
项目文件和生成的内容
迁移步骤(推荐)
步骤0 — 备份(旧机器)
bash
# 停止Gateway
openclaw gateway stop
# 归档状态目录和工作区
tar -czvf openclaw-backup.tar.gz ~/.openclaw/
# 可选:备份环境变量配置
env | grep OPENCLAW > openclaw-env-backup.txt
步骤1 — 在新机器上安装OpenClaw
bash
# 使用curl安装
curl -fsSL https://openclaw.ai/install.sh | bash
# 或使用npm
npm install -g openclaw@latest
步骤2 — 将状态目录+工作区复制到新机器
bash
# 使用scp传输备份文件
scp openclaw-backup.tar.gz user@new-machine:~/
# 在新机器上解压
ssh user@new-machine
tar -xzvf ~/openclaw-backup.tar.gz -C ~/
# 确保目录权限正确
chmod -R 755 ~/.openclaw/
步骤3 — 运行Doctor(迁移+服务修复)
bash
# 运行诊断和修复
openclaw doctor
# 重启Gateway
openclaw gateway restart
# 验证状态
openclaw status
💡 Doctor工具会做什么
- 检查配置文件完整性
- 修复文件权限问题
- 验证通道配置
- 重新初始化必要的服务组件
常见陷阱(以及如何避免)
🔴 配置文件/状态目录不匹配
确保新机器上的 $OPENCLAW_STATE_DIR 环境变量与旧机器一致,否则OpenClaw会创建新的空配置。
🔴 只复制openclaw.json
仅复制配置文件是不够的!必须同时复制整个状态目录,包括凭证存储和会话数据。
🔴 权限/所有权
确保新机器上的文件所有者和权限与旧机器一致,特别是在使用不同用户运行时。
bash
# 修复权限
sudo chown -R $(whoami):$(whoami) ~/.openclaw/
chmod -R 755 ~/.openclaw/
🔴 远程/本地模式之间迁移
如果从远程模式迁移到本地模式,可能需要重新配置某些平台回调地址。
🔴 备份中的密钥
备份文件包含敏感凭证,传输和存储时请妥善保护。建议使用加密传输(SCP/SFTP)并删除临时备份文件。
验证检查清单
迁移完成后,请检查以下项目
openclaw status显示Gateway正在运行- 渠道仍然连接(WhatsApp/QQ/钉钉等)
- 仪表板显示现有会话
- 工作区文件存在且可访问
- 历史对话记录完整
- 配置的模型API仍然有效
- 自定义技能和工具可用
bash
# 全面验证命令
openclaw status # 检查服务状态
openclaw channel list # 列出所有通道
openclaw doctor # 运行诊断
ls -la ~/.openclaw/workspace/ # 检查工作区
💡 测试建议
在停止旧机器的Gateway之前,先在新机器上测试所有核心功能,确保迁移成功后再切换流量。