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

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 -20,8 成数据可重建。

| 类别 | 大小 | 处理

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’, 36002436510) put_file_v2(token, ‘openclaw-migrate-20260605.tar.gz’, ‘/tmp/openclaw-migrate.tar.gz’) ` 坑:第一次我写的是 360024*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 — 新服务器一键脚本