换电脑不丢记忆,恢复默认不覆盖重要文件。
Clawmerge 有两种使用方式:
只备份当前 workspace:记忆、人格、脚本、skills、配置模板等。
bash
cd ~/.openclaw/workspace
bash skills/clawmerge/scripts/one-click-backup.sh ~/backups/workspace-$(date +%Y%m%d).tar.gz
适合:日常备份、改脚本前留档、迁移一部分 workspace。
bash
bash skills/clawmerge/scripts/one-click-backup.sh ~/backups/test.tar.gz --dry-run
只预览,不创建备份。
备份范围更大:workspace + system config + cron + agent auth + sessions。
bash
bash skills/clawmerge/scripts/one-click-full-backup.sh ~/openclaw-disaster-backup.tar.gz
适合:重装系统前、迁移整台 OpenClaw、重大升级前。
bash
bash skills/clawmerge/scripts/one-click-full-backup.sh ~/openclaw-disaster-backup.tar.gz --no-sessions
适合:想减小备份体积,或者不需要历史会话。
bash
bash skills/clawmerge/scripts/one-click-full-backup.sh ~/openclaw-disaster-backup.tar.gz --dry-run
bash
cd ~/.openclaw/workspace
bash skills/clawmerge/scripts/one-click-restore.sh /path/to/workspace-backup.tar.gz --dry-run
bash skills/clawmerge/scripts/one-click-restore.sh /path/to/workspace-backup.tar.gz --merge
建议先 --dry-run,确认内容后再 --merge。
bash
bash skills/clawmerge/scripts/one-click-full-restore.sh /path/to/openclaw-disaster-backup.tar.gz --dry-run
只检查备份包和恢复计划,不修改任何文件。
bash
bash skills/clawmerge/scripts/one-click-full-restore.sh /path/to/openclaw-disaster-backup.tar.gz
默认安全模式会:
openclaw.json、 .env、cron、agent auth → 放入 ~/.openclaw/restore-candidates/<timestamp>/~/.openclaw/agents/main/sessions-restored-<timestamp>/bash
bash skills/clawmerge/scripts/one-click-full-restore.sh /path/to/openclaw-disaster-backup.tar.gz --unsafe-overwrite
只有在你明确要用备份覆盖当前运行环境时才使用。它可能覆盖:
~/.openclaw/openclaw.json你可以直接这样说:
如果涉及覆盖当前配置、启用 cron、外发消息、恢复 token、覆盖 live sessions,OpenClaw 应该先确认,不应直接执行。
示例:
“用 clawmerge 从
/home/admin/.openclaw/disaster-backup-2026-05-02.tar.gz安全恢复,重点恢复记忆和人格,不要启用定时任务。”
OpenClaw 应执行:
tar -tzf 检查备份结构MEMORY.md、 memory/、 SOUL.md、 USER.md、 IDENTITY.md、 AGENTS.mdClawHub CLI v0.12.x 当前没有 clawhub skill publish --dry-run。发布前用这些检查替代:
bash
bash -n skills/clawmerge/scripts/*.sh
python3 -m py_compile skills/clawmerge/scripts/*.py
bash skills/clawmerge/scripts/one-click-full-backup.sh /tmp/test.tar.gz --dry-run
bash skills/clawmerge/scripts/one-click-full-restore.sh /path/to/backup.tar.gz --dry-run
功能说明工作区备份备份 workspace(脚本、配置、记忆)灾难备份备份 workspace + 系统配置 + sessions,重装系统后一键恢复合并恢复解压时不覆盖已有文件,适合从另一台设备增量恢复Cron 备份自动备份 cron 任务配置会话备份可选包含会话记录(.jsonl)配置导出导出脱敏后的公开配置
bash
cd ~/.openclaw/workspace
./skills/clawmerge/scripts/one-click-backup.sh /tmp/backup-$(date +%Y%m%d).tar.gz
bash
# 创建灾难备份(包含 workspace + 系统配置 + sessions)
./scripts/one-click-full-backup.sh ~/openclaw-disaster-backup.tar.gz
# 排除 sessions(减小体积)
./scripts/one-click-full-backup.sh ~/openclaw-disaster-backup.tar.gz --no-sessions
# 重装系统后一键安全恢复(默认:配置/cron/sessions 先归档候选,不覆盖 live)
./scripts/one-click-full-restore.sh ~/openclaw-disaster-backup.tar.gz
# 仅在你明确要完全覆盖旧环境时使用危险模式
./scripts/one-click-full-restore.sh ~/openclaw-disaster-backup.tar.gz --unsafe-overwrite
bash
./skills/clawmerge/scripts/one-click-restore.sh /path/to/backup.tar.gz --merge
bash
tar -tzf backup.tar.gz | head -50
bash
./skills/clawmerge/scripts/backup-cron-tasks.sh
内容说明system/openclaw.jsonGateway 配置(含 token)system/.env环境变量agents/main/agent/Agent 认证配置cron/jobs.json定时任务定义cron/jobs-state.jsonCron 状态workspace.tar.gz完整 workspace(48MB)sessions.tar.gz对话记录(压缩后约 50MB)
text
当前环境(2026-05-02):
workspace: ~50MB
sessions: 261MB → 压缩后 ~50MB
系统配置: <1MB
-------------------
总计: ~103MB(含 sessions)
备份文件上传到云端/NAS(重装系统前)
重装系统,安装 OpenClaw
恢复备份: bash
bash ~/.openclaw/workspace/skills/clawmerge/scripts/one-click-full-restore.sh ~/openclaw-disaster-backup.tar.gz
默认安全模式会:
openclaw.json、 .env、cron、agent auth 放到 ~/.openclaw/restore-candidates/<timestamp>/~/.openclaw/agents/main/sessions-restored-<timestamp>/如需旧版全覆盖行为,显式加 --unsafe-overwrite。
重启 Gateway: bash
openclaw gateway restart
脚本用途one-click-backup.sh备份 workspace(不含系统配置)one-click-restore.sh恢复 workspace(支持 --merge)one-click-full-backup.sh灾难备份(workspace + 系统配置 + sessions)one-click-full-restore.sh灾难恢复(一键恢复所有配置)backup-cron-tasks.sh单独备份 cron 配置restore-cron-tasks.sh恢复 cron 配置discover-scripts.py扫描 workspace 中的自定义脚本gen-requirements.py生成 requirements.txtpost-restore-check.sh恢复后检查完整性workspace-manager.shworkspace 空间管理(查看大小/清理)
以下文件默认排除(不备份):
排除原因*.pyc编译缓存__pycache__/Python 缓存.session/临时会话node_modules/npm 包(可从 package.json 恢复)*.log日志文件.gitGit 历史
bash
# 合并模式:遇到同名文件
# - 若原文件与备份不同 → 保留原文件(不覆盖)
# - 若原文件不存在 → 从备份解压
# - 备份中有、原文件没有 → 恢复
使用 --merge 的场景:
bash
# 灾难备份预览
./scripts/one-click-full-backup.sh --dry-run /tmp/test.tar.gz
# 灾难恢复预览
./scripts/one-click-full-restore.sh ~/openclaw-disaster-backup.tar.gz --dry-run
# 工作区备份预览
./one-click-backup.sh --dry-run /tmp/test.tar.gz
ClawHub CLI clawhub skill publish 在 v0.12.x 暂不支持 --dry-run。发布前请用本地校验替代:
bash
bash -n skills/clawmerge/scripts/*.sh
python3 -m py_compile skills/clawmerge/scripts/*.py
clawhub inspect clawmerge --json # 若已发布,用于发布后验证
不要在文档或自动流程里声称 clawhub skill publish --dry-run 可用。
文件说明backup.tar.gz主备份文件MANIFEST.txt备份内容清单(灾难备份)restore-report.txt恢复报告
问题解决方案备份文件过大使用 --no-sessions 排除 sessions恢复失败检查 .tar.gz 是否损坏;尝试 tar -tzf 验证Cron 未恢复手动运行 restore-cron-tasks.shsessions 恢复失败重启后 sessions 会自动重建空目录
bashtarpython3(用于 discover-scripts.py 和 gen-requirements.py)备份不是为了恢复,是为了放心地往前走。 📦