乐于分享
好东西不私藏

OpenClaw 科普系列(19):备份与恢复——保护你的 Agent 数据

OpenClaw 科普系列(19):备份与恢复——保护你的 Agent 数据

前几期我们聊了监控与日志,让你可以掌握 Agent 的运行状态。但数据安全不仅仅是监控——当硬件故障、误操作或灾难发生时,如何保护你的配置和会话数据?这就是 备份与恢复 要解决的问题。

本期我们来深入了解 OpenClaw 的备份策略:哪些数据需要备份、如何备份、以及如何恢复。

需要备份的数据

OpenClaw 的数据主要存储在 ~/.openclaw/ 目录下:

1. 配置文件

位置~/.openclaw/openclaw.json

包含:

  • • Gateway 配置(端口、认证、绑定模式)
  • • 频道配置(WhatsApp、Telegram 等)
  • • 工具策略和沙箱设置
  • • Agent 配置和模型设置

重要性:⭐⭐⭐⭐⭐(最高)
没有配置文件,你需要重新配置整个系统。

2. 凭证和密钥

位置

  • ~/.openclaw/credentials/ - 频道凭证、配对白名单
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json - API 密钥、OAuth Token
  • ~/.openclaw/secrets.json - 文件后端密钥(如果使用)

重要性:⭐⭐⭐⭐⭐(最高)
丢失凭证意味着重新配对设备、重新授权 API 访问。

3. 会话数据

位置~/.openclaw/agents/<agentId>/sessions/

包含:

  • sessions.json - 会话索引
  • *.jsonl - 会话记录(对话历史)

重要性:⭐⭐⭐⭐(高)
会话数据是 Agent 的"记忆",丢失后 Agent 会"忘记"之前的对话。

4. 工作区文件

位置~/.openclaw/workspace/ 或自定义工作区路径

包含:

  • • 项目文件
  • • Skill 定义
  • • 生成的内容

重要性:⭐⭐⭐(中)
取决于你的工作流,有些文件可能是临时生成的,有些则是重要的项目数据。

5. 执行审批列表

位置~/.openclaw/exec-approvals.json

包含:

  • • 允许执行的命令列表
  • • 审批决策记录

重要性:⭐⭐⭐(中)
丢失后需要重新审批常用命令。

6. 沙箱数据

位置~/.openclaw/sandboxes/

包含:

  • • 沙箱工作区
  • • 容器状态

重要性:⭐⭐(低)
通常是临时数据,可以重建。

备份策略

完整备份

备份整个 ~/.openclaw/ 目录:

# 创建备份
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw/

# 排除日志(可选,日志通常很大且可以重建)

tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz \
  --exclude='*.log' \
  ~/.openclaw/

配置和凭证备份(最小化)

如果只需要备份核心数据:

# 创建最小化备份
tar -czf openclaw-essential-$(date +%Y%m%d).tar.gz \
  ~/.openclaw/openclaw.json \
  ~/.openclaw/credentials/ \
  ~/.openclaw/agents/*/agent/auth-profiles.json \
  ~/.openclaw/exec-approvals.json

会话数据备份

会话数据可能很大,可以单独备份:

# 备份会话数据
tar -czf openclaw-sessions-$(date +%Y%m%d).tar.gz \
  ~/.openclaw/agents/*/sessions/

自动化备份

使用 Cron 定期备份:

# 每天凌晨 3 点备份
openclaw cron add \
  --name "Daily Backup" \
  --cron "0 3 * * *" \
  --session isolated \
  --message "创建 OpenClaw 备份并上传到云存储" \
  --announce

备份脚本示例:

#!/bin/bash
BACKUP_DIR="/backups/openclaw"
DATE=$(date +%Y%m%d)
RETENTION_DAYS=30

# 创建备份

tar -czf "$BACKUP_DIR/openclaw-$DATE.tar.gz" ~/.openclaw/

# 上传到云存储(示例:AWS S3)

aws s3 cp "$BACKUP_DIR/openclaw-$DATE.tar.gz" s3://my-backup-bucket/openclaw/

# 清理旧备份

find "$BACKUP_DIR" -name "openclaw-*.tar.gz" -mtime +$RETENTION_DAYS -delete

备份存储建议

3-2-1 备份原则

  • 3 份副本:原始数据 + 2 份备份
  • 2 种介质:本地磁盘 + 云存储
  • 1 份异地:至少一份备份在物理上不同的位置

推荐方案

  1. 1.
  2. 本地备份
    • • 外部硬盘
    • • NAS(网络存储)
    • • Time Machine(macOS)
  3. 2.
  4. 云备份
    • • AWS S3 / Google Cloud Storage
    • • Dropbox / Google Drive
    • • 专用备份服务(Backblaze B2)
  5. 3.
  6. 版本控制
    • • 配置文件可以用 Git 管理
    • • 敏感数据使用 Git 加密工具(git-crypt)

恢复流程

完整恢复

当需要在新机器上恢复或完全重建时:

# 1. 安装 OpenClaw
npm install -g openclaw

# 2. 停止 Gateway(如果正在运行)

openclaw gateway stop

# 3. 恢复备份

tar -xzf openclaw-backup-20260405.tar.gz -C ~/

# 4. 检查权限

chmod
 700 ~/.openclaw
chmod
 600 ~/.openclaw/openclaw.json
chmod
 -R 600 ~/.openclaw/credentials/*

# 5. 启动 Gateway

openclaw gateway

# 6. 验证状态

openclaw status --deep

部分恢复

仅恢复配置

# 恢复配置文件
cp
 openclaw.json ~/.openclaw/

# 重启 Gateway

openclaw gateway restart

仅恢复凭证

# 恢复凭证目录
cp
 -r credentials ~/.openclaw/

# 恢复授权列表

cp
 exec-approvals.json ~/.openclaw/

仅恢复会话

# 恢复会话数据
cp
 -r sessions ~/.openclaw/agents/<agentId>/

# 重启 Gateway 使会话索引生效

openclaw gateway restart

灾难恢复场景

场景1:配置文件损坏

症状:Gateway 无法启动,报错配置错误

恢复步骤

  1. 1. 从备份恢复 openclaw.json
  2. 2. 如果备份也损坏,使用默认配置重建:
    openclaw config init
  3. 3. 逐步重新配置

场景2:凭证丢失

症状:频道连接失败,认证错误

恢复步骤

  1. 1. 从备份恢复凭证目录
  2. 2. 如果备份不可用,重新配对设备:
    openclaw devices list
    openclaw devices approve <requestId>
  3. 3. 重新配置 API 密钥

场景3:会话数据损坏

症状:Agent 行为异常,会话历史丢失

恢复步骤

  1. 1. 停止 Gateway
  2. 2. 从备份恢复会话数据
  3. 3. 如果备份不可用,重置会话:
    rm ~/.openclaw/agents/<agentId>/sessions/*.jsonl
  4. 4. 重新启动 Gateway,会话会在下次交互时重建

场景4:完整系统重建

症状:硬件故障,需要在新机器上重建

恢复步骤

  1. 1. 在新机器上安装 OpenClaw
  2. 2. 恢复完整备份
  3. 3. 检查并更新配置(如主机名、路径变化)
  4. 4. 重新配对需要重新批准的设备
  5. 5. 验证所有功能正常

最佳实践

定期备份

  • 每日:自动备份到本地或云存储
  • 每周:完整备份到外部介质
  • 每月:验证备份可恢复

备份验证

定期测试备份是否可用:

# 测试备份完整性
tar -tzf openclaw-backup-20260405.tar.gz > /dev/null && echo "Backup OK"

# 定期恢复测试(在隔离环境)

mkdir
 -p /tmp/openclaw-test
tar -xzf openclaw-backup-20260405.tar.gz -C /tmp/openclaw-test

敏感数据保护

  • • 备份文件加密:
    gpg -c openclaw-backup-20260405.tar.gz
  • • 使用强密码
  • • 密钥和密码分开存储

文档记录

记录以下信息:

  • • 备份位置和命名规则
  • • 恢复步骤
  • • 重要配置的特殊说明
  • • 紧急联系人/支持渠道

总结

数据保护是运维的基础:

  • 识别关键数据:配置、凭证、会话、工作区
  • 制定备份策略:完整备份 + 最小化备份 + 自动化
  • 遵循 3-2-1 原则:多副本、多介质、异地存储
  • 定期测试恢复:确保备份可用
  • 保护敏感数据:加密、权限控制

备份不是一次性任务,而是持续的过程。投入时间建立可靠的备份策略,可以在灾难发生时节省大量时间和精力。

下一期,我们将探讨 高级配置——OpenClaw 的进阶功能和调优技巧。