← 返回首页 OpenClaw 极简迁移操作手册(42M 复刻全量部署)
自我进化

OpenClaw 极简迁移操作手册(42M 复刻全量部署)

OpenClaw 极简迁移操作手册(42M 复刻全量部署)

适用场景:把 OpenClaw 从一台服务器迁到另一台,只带 42M 核心数据,其余 1.6G 全部在新服务器重建。

⬇️ 备份包下载

下载地址 https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz
大小 42M(41.3MB)
SHA256 2c4ad6cd709fd12f8676803c8fd5d9e15578c3ba1f4d99e156981abffc7274a7
有效期 永久(10 年 token)
包含 openclaw.json + memory(9个sqlite) + workspace(49 skills+21 projects+46 scripts) + 9 个子工作区

下载命令:


wget https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz
# 或
curl -O https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz

🚀 完整迁移操作步骤(端到端)

假设:老服务器 A新服务器 B,A 和 B 之间网络不一定通。

Step 1:老服务器执行备份


# 1.1 运行备份脚本
bash /root/.openclaw/workspace/scripts/migrate-openclaw.sh

# 1.2 确认输出(关键 13 个文件)
ls -lh /tmp/openclaw-migrate-20260605-XXXXXX/
# 应看到:
#   openclaw.json                                    12K
#   memory.tar.gz                                   696K
#   workspace.tar.gz                                 29M
#   workspace-canmou.tar.gz                          40K
#   ...(共 9 个子工作区)
# 总大小:约 42M

Step 2:老服务器打包 + 传七牛


# 2.1 打包成单一文件(方便上传/下载)
tar czf /tmp/openclaw-migrate.tar.gz -C /tmp openclaw-migrate-20260605-XXXXXX/

# 2.2 上传七牛(永久有效期,不要用 7 天临时 token)
python3 << 'EOF'
from qiniu import Auth, put_file_v2
q = Auth('AK', 'SK')
token = q.upload_token('taojinai', 'openclaw-migrate-20260605.tar.gz', 3600*24*365*10)
put_file_v2(token, 'openclaw-migrate-20260605.tar.gz', '/tmp/openclaw-migrate.tar.gz')
EOF

# 2.3 验证 CDN 可访问
curl -I https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz
# 应返回 HTTP 200 + Content-Length: 43272021

Step 3:新服务器下载 + 初始化


# 3.1 下载备份包(约 42M,1-2 分钟)
wget -O /tmp/openclaw-migrate.tar.gz https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz

# 3.2 验证 SHA256(必须一致!)
echo "2c4ad6cd709fd12f8676803c8fd5d9e15578c3ba1f4d99e156981abffc7274a7  /tmp/openclaw-migrate.tar.gz" | sha256sum -c
# 应输出:/tmp/openclaw-migrate.tar.gz: OK

# 3.3 准备 init 脚本(任选一种方式)

# 方式 A:从老服务器 scp 过来
scp root@老IP:/root/.openclaw/workspace/scripts/init-new-server.sh /tmp/

# 方式 B:从工作区拿(如果 init 脚本已经存在)
cp /root/.openclaw/workspace/scripts/init-new-server.sh /tmp/

# 方式 C:手动创建(脚本很短,参考第 3 节)

chmod +x /tmp/init-new-server.sh

# 3.4 一键初始化
bash /tmp/init-new-server.sh

Step 4:脚本执行过程(约 5 分钟)

init-new-server.sh 会自动跑完 7 步:


[1/7] 从 CDN 下载迁移包
[2/7] SHA256 校验
[3/7] 安装 Node.js 22 + Python3
[4/7] npm install -g openclaw
[5/7] 解压迁移包
[6/7] 还原配置 + 9 个 sqlite 记忆 + workspace + 9 个子工作区
[7/7] 启动 openclaw gateway + 自动验证

Step 5:5 分钟验收

脚本完成后会自动输出验证报告,你需要人工确认:

  • [ ] openclaw status — 主服务健康
  • [ ] openclaw agents list — 9 个 agent 都在
  • [ ] openclaw cron list — 定时任务都在
  • [ ] 发条飞书消息 — 通道正常
  • [ ] 调个 skill(如天气、查基金)— skill 加载正常

故障兜底

如果 Step 3.4 脚本挂了,按以下顺序排查:


# A. 检查 Node 是否装好
node --version   # 应 v22+

# B. 检查 OpenClaw 是否装好
openclaw --version

# C. 手动解压
mkdir -p /tmp/openclaw-restore
tar xzf /tmp/openclaw-migrate.tar.gz -C /tmp/openclaw-restore/
RESTORE_DIR=$(ls /tmp/openclaw-restore | head -1)
cd /tmp/openclaw-restore/$RESTORE_DIR

# D. 手动还原
mkdir -p /root/.openclaw
cp openclaw.json /root/.openclaw/
chmod 600 /root/.openclaw/openclaw.json
tar xzf memory.tar.gz -C /root/.openclaw/
tar xzf workspace.tar.gz -C /root/.openclaw/
for f in workspace-*.tar.gz; do
  tar xzf "$f" -C /root/.openclaw/
done

# E. 启动
openclaw gateway start
openclaw status

0. 前置认知:哪些能丢,哪些不能丢

迁移前先看 du -ah /root/.openclaw/ | sort -rh | head -208 成数据可重建

类别 大小 处理
OpenClaw 主程序 + node_modules 新服务器 npm install -g openclaw
Python venv (canmou/fundquant) 313M python -m venv venv && pip install
sessions 会话日志 1018M 直接扔,记忆在 sqlite
媒体文件(media/) 63M 默认不备,按需 ENABLE_MEDIA=1
缓存 / 临时文件 不备
配置 / 工作区 / 记忆 42M ✅ 这才是真要带的

1. 备份(老服务器执行)

脚本:workspace/scripts/migrate-openclaw.sh


bash /root/.openclaw/workspace/scripts/migrate-openclaw.sh

输出 4 步:


[1/4] 备份 openclaw.json(12K)— 飞书/GitHub/七牛 key + agents 路由
[2/4] 备份 workspace/(29M)— 49 skills + 21 projects + 46 scripts + 8 个核心 md
[3/4] 备份 9 个子工作区(~12M)
[4/4] 备份 memory/ 目录(696K)— 9 个 sqlite 数据库

总大小:42M

排除规则(必写对,否则 GB 级垃圾会带进来)


tar czf workspace.tar.gz \
  --exclude='node_modules' \
  --exclude='.git' \
  --exclude='__pycache__' \
  --exclude='venv' \
  --exclude='media' \
  --exclude='.next' \
  workspace/

2. 打包 + 传七牛(CDN 中转)

2.1 打包成单一文件


tar czf /tmp/openclaw-migrate.tar.gz -C /tmp openclaw-migrate-20260605-XXXXXX/

2.2 上传七牛(永久有效期


from qiniu import Auth, put_file_v2
q = Auth('AK', 'SK')
# 注意:传 10 年有效期,不要用 7 天临时 token
token = q.upload_token('taojinai', 'openclaw-migrate-20260605.tar.gz', 3600*24*365*10)
put_file_v2(token, 'openclaw-migrate-20260605.tar.gz', '/tmp/openclaw-migrate.tar.gz')

:第一次我写的是 3600*24*7(7 天),传完才发现这是生产包不是调试包。用 CDN 传的包默认按永久

2.3 CDN 链接


https://cdn.imoons.cn/openclaw-migrate-20260605.tar.gz

3. 新服务器初始化(核心交付物

脚本:init-new-server.sh


bash /tmp/init-new-server.sh

脚本会做的事


[1/7] 从 CDN 下载迁移包
[2/7] SHA256 校验
[3/7] 安装 Node.js 22 + Python3
[4/7] npm install -g openclaw
[5/7] 解压迁移包
[6/7] 还原配置 + 9 个 sqlite 记忆 + workspace + 9 个子工作区
[7/7] 启动 openclaw gateway + 自动验证

完成后会自动输出


📊 系统状态 / 🤖 Agents 列表 / ⏰ Cron 任务
📝 后续检查清单

4. 手动还原(如果脚本挂了)


# 1. 装环境
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs python3-venv
npm install -g openclaw

# 2. 还原(解包到 /tmp,假设有 13 个 .tar.gz + 1 个 openclaw.json)
mkdir -p /root/.openclaw
cp /tmp/openclaw-restore/openclaw.json /root/.openclaw/
chmod 600 /root/.openclaw/openclaw.json
tar xzf /tmp/openclaw-restore/memory.tar.gz -C /root/.openclaw/
tar xzf /tmp/openclaw-restore/workspace.tar.gz -C /root/.openclaw/
for f in /tmp/openclaw-restore/workspace-*.tar.gz; do
  tar xzf "$f" -C /root/.openclaw/
done

# 3. 启动
openclaw gateway start

5. 必查项(启动后 5 分钟验收清单)

  • [ ] openclaw status — 主服务健康
  • [ ] openclaw agents list — 9 个 agent 都在
  • [ ] openclaw cron list — 定时任务都在
  • [ ] 发条飞书消息 — 通道正常
  • [ ] 调个 skill(如天气、查基金)— skill 加载正常
  • [ ] canmou 需要的话重建 venv:

  cd /root/.openclaw/workspace-canmou/fundquant
  python3 -m venv venv && source venv/bin/activate
  pip install -r requirements.txt

6. 关键数据格式说明

记忆 = sqlite 数据库(不是 md)

memory/main.sqlite 里实际是:


CREATE TABLE files (path, source, hash, mtime, size);     -- MEMORY.md + 历次 md
CREATE TABLE chunks (..., content, ...);                   -- 442 个记忆块
CREATE TABLE chunks_fts (...);                             -- 全文索引
CREATE TABLE embedding_cache (...);                        -- 向量缓存

整库带走就能恢复搜索能力,新服务器不用跑 memory build。

关键 md 文件(必带)


workspace/MEMORY.md     -- 长期记忆(25K)
workspace/SOUL.md       -- 人格配置
workspace/AGENTS.md     -- Agent 路由
workspace/TOOLS.md      -- 服务器别名 / API key
workspace/USER.md       -- 用户信息
workspace/IDENTITY.md   -- 身份档案
workspace/HEARTBEAT.md  -- 心跳任务
workspace/PROGRESS.md   -- 当前任务进度

7. 复盘:1.7G → 42M 怎么做到的


原始:  1.7G
丢弃:-1018M (sessions)
丢弃:-313M (canmou venv)
丢弃:-150M (其他 sessions)
丢弃:-63M (media)
丢弃:-120M (node_modules 散落)
─────────────────
剩下:  42M(核心)

节省 97.5% 体积,节省 100% 重建时间

8. 复用的迁移原则(别再每次重新设计

1. 迁移前先 du -ah | sort -rh 摸底,别直接 tar 整个目录

2. 能重建的全不背:node_modules / venv / sessions / 缓存

3. 黄金三件套 = 配置 + 工作区 + 记忆,所有 OpenClaw 迁移都是这个套路

4. 新服务器脚本是核心交付物,写好 init 脚本 = 迁移完成 90%

5. CDN 中转优于直连,scp 不一定通,CDN 永远通

6. SHA256 一定要验,传错版本调一天

7. token 有效期按生命周期算,生产包默认 10 年,调试包 7 天


附:本手册配套脚本

  • workspace/scripts/migrate-openclaw.sh — 备份
  • workspace/scripts/migrate-openclaw-restore.sh — 还原
  • init-new-server.sh — 新服务器一键脚本