OpenClaw 数据、设置和内存备份指南

OpenClaw 在交互时给人的感觉是"无状态的"。但实际上并非如此。它会保存配置、频道登录信息、会话记录、内存、技能以及许多在首次迁移到新服务器时至关重要的小文件。

本指南是我针对 OpenClaw 编写的实用备份清单,而非理论讲解,也不是"直接复制文件夹"之类的简单建议。目标很简单:即使你的 VPS 在凌晨 3 点宕机,你也能恢复备份,你的助手也能像什么都没发生过一样正常运行。

在深入探讨路径之前,需要说明一点:较旧的安装版本可能仍然使用.clawdbot目录,较旧的文档和脚本可能仍然使用"Moltbot"。概念本身没有改变,只是名称不同而已。

你需要用 OpenClaw 备份哪些内容

如果你只能记住这篇文章中的一件事,那就记住:OpenClaw 有两个重要的根,以及一个可选的第三个根。

1)州目录

状态目录存放着所有"底层架构":配置、密钥、身份验证配置文件、会话和通道状态。如果丢失了状态目录,就会丢失那些难以重建的内容。

常见内容包括:

  • openclaw.json(主配置)
  • 身份验证配置文件和提供商令牌(API 密钥、OAuth 令牌)
  • 每个代理的会话历史记录
  • 通道状态(例如 WhatsApp 登录信息块)
  • 像这样的配置备份.bak.*也包含机密信息。

~/.openclaw官方的 OpenClaw 迁移文档建议在迁移过程中停止网关并进行数据归档。您可以在OpenClaw 迁移文档中找到相关信息。

2) 工作区目录

你的工作区就像是"大脑文件":记忆标记、角色规则、本地技能、辅助脚本、笔记等等。如果丢失了这些文件,OpenClaw 仍然可以启动,但它会忘记自己的身份。

典型内容包括:

  • MEMORY.mdmemory/文件
  • SOUL.md,,,(如果你使用它们AGENTS.mdUSER.md``TOOLS.md
  • 工作技能<workspace>/skills/<skill>/SKILL.md
  • 任何你保留的"代理上下文"信息,例如模板、清单、操作手册等。

如果您想了解内存的存储方式以及为什么它只是 Markdown,那么这篇资料是一个很好的参考阅读:OpenClaw 内存详解

3)媒体和附件文件夹(可选,但通常值得)

如果你通过聊天渠道使用 OpenClaw,你可能会收到图片、语音留言、PDF 和其他文件,这些文件你之后可能会用到。有些人不在乎,把收到的媒体文件当作一次性用品。而有些人则非常依赖这些文件。

如果您确实依赖此功能,请备份存储入站媒体的文件夹。某些设置使用专门的"媒体备份"功能,将文件放在类似以下位置:

复制代码
`~/openclaw-media/<channel>/YYYY-MM-DD/...`

那个文件夹里只有文件。像备份工具里的其他文件夹一样处理它就行了。

Linux、macOS 和 Windows 上的关键默认路径

根据包装和规格的不同,安装路径略有差异。不过,大多数安装路径都遵循相同的形状。

Linux 和 macOS 默认设置

  • 状态目录 :通常~/.openclaw/
  • 工作区 :通常情况下~/.openclaw/workspace,除非你更改了它

某些较旧的配置可能仍然包含~/.clawdbot自定义工作区。最稳妥的方法是打开状态目录并检查代理工作区设置,~/clawd以确认配置值。openclaw.json

Windows默认设置

在 Windows 系统中,您通常会看到以下选项之一,具体取决于系统安装的年代:

  • C:\Users\<User>\.openclaw
  • C:\Users\<User>\.clawdbot(较旧)

如果您不确定数据位置,OpenClaw 的常见问题解答 (FAQ) 中有一个章节介绍了启动/停止和故障排除等基本操作。这通常是找到"此安装使用哪个文件夹"答案的最简单方法。OpenClaw常见问题解答

最小备份与完整备份

这就是人们容易犯错的地方。他们备份了"好"的部分(工作区),却忘记了"坏"的部分(状态目录)。然后他们恢复数据,却纳闷为什么 WhatsApp 需要重新配对,会话也消失了。

最小备份范围

如果接受重新验证,那么最小备份就可以了。

  • openclaw.json
  • 整个工作区目录(内存、角色文件、本地技能)

您将丢失会话历史记录,并且需要重新登录频道和进行提供商身份验证。如果您在 WhatsApp 上运行 OpenClaw 并且讨厌配对流程,那么您将无法享受最小备份带来的便利。

全面备份范围

要想真正实现"恢复并继续"的恢复,你需要的是完整备份。

  • 整个状态目录(配置、密钥、身份验证、会话、通道状态)
  • 整个工作区目录或目录
  • 如果您要存储收到的附件,请将其放入媒体文件夹。
  • 如果您使用外部数据库进行仪表板或会话存储,则需要生成数据库转储文件。

完整备份可以在恢复后保持用户个性、内存、会话和频道状态的完整性。

备份文件包含机密信息,因此请像对待生产环境文件一样对待它们。

状态目录以明文形式存储着密钥,包括 API 密钥、OAuth 令牌和通道会话数据。因此,您的备份集本质上就是您"王国密钥"的副本。

我的基本规则:

  • 对备份进行加密。状态目录备份也不例外。
  • 将密码短语存储在密码管理器中。如果丢失,备份就彻底失效了。
  • 不要通过电子邮件、Slack 或公共链接发送原始存档。
  • 如果怀疑备份数据泄露,请轮换令牌并重新配对通道。

如果您想了解 OpenClaw 的相关内容(工具访问和哪些内容属于敏感信息),我们的部署强化指南将对您有所帮助:OpenClaw 安全最佳实践

快速导出内存和人物文件

内存文件本质上就是 Markdown 格式,所以导出它就像复制文件夹一样简单。如果你想要手动"立即获取"导出,以下是最简单的方法。

手动导出(仅内存导出)

复制代码
`# Adjust WORKSPACE if yours is different
WORKSPACE="$HOME/.openclaw/workspace"

mkdir -p "$HOME/Desktop/openclaw-memory-backup"
cp "$WORKSPACE/MEMORY.md" "$HOME/Desktop/openclaw-memory-backup/" 2>/dev/null || true
cp -r "$WORKSPACE/memory" "$HOME/Desktop/openclaw-memory-backup/" 2>/dev/null || true`

手动导出整个工作区

复制代码
`WORKSPACE="$HOME/.openclaw/workspace"
cp -r "$WORKSPACE" "$HOME/Desktop/openclaw-workspace-backup"`

这并不能替代真正的备份。它只是"我即将编辑一堆角色规则,想要快速回滚"的一种操作。

在 Linux 和 macOS 上使用 tar 进行一键备份

如果你想要最便捷的备份方式,并且可以接受先将本地存档保存到本地,然后再同步到其他地方,那么 tar 就是一个不错的选择。

创建具有时效性的加密档案

单独使用 tar 命令并不能加密。你可以将 tar 命令与其他加密方式(例如agetrap 或 tv gpg)结合使用,并将加密结果存储在异地。

复制代码
`set -euo pipefail

BACKUP_DIR="$HOME/backups/openclaw"
DATE="$(date +%Y-%m-%d_%H-%M-%S)"

STATE_DIR="$HOME/.openclaw"
WORKSPACE_DIR="$HOME/.openclaw/workspace"

mkdir -p "$BACKUP_DIR"

tar -czf - -C "$STATE_DIR" . | age -p -o "$BACKUP_DIR/state-$DATE.tgz.age"
tar -czf - -C "$WORKSPACE_DIR" . | age -p -o "$BACKUP_DIR/workspace-$DATE.tgz.age"`

缺点:除非使用密钥文件,否则每次输入密码短语都会让 cron 任务变得很烦人。优点:极其简单且易于移植。

添加 cron 计划任务

复制代码
`crontab -e
# Daily at 03:00
0 3 * * * /usr/local/bin/backup-openclaw.sh >/dev/null 2>&1`

如果您已经在使用 OpenClaw cron 进行自动化操作,那么仍然可以通过 cron 或 systemd 定时器将备份作为"系统任务"来执行。有关 OpenClaw 内部 cron 的基础知识,请参阅:OpenClaw cron 调度器指南

使用 Duplicati 备份 OpenClaw

Duplicati之所以受欢迎,是因为它具有跨平台性和易用性。它还支持客户端加密。Duplicati的文档涵盖了卷的加密和解密以及相关工具。Duplicati加密工具

关于 Duplicati 的另一个细节:Duplicati 社区文档将 AES-256 加密描述为一项核心功能,并且数据在传输前会在本地进行加密。Duplicati社区文档简介

第一步:选择源文件夹

添加您的州目录和工作区目录。

  • Linux/macOS:~/.openclaw以及您的工作区路径
  • Windows:C:\Users\<User>\.openclaw以及您的工作区路径

如果你的工作区不在目录内.openclaw,请显式添加。很多人会将工作区放在单独的磁盘上。

步骤二:设置加密并妥善保管密码短语

在 Duplicati 中,您需要在作业向导中选择加密方式。请使用 AES-256 加密。选择一个较长的随机密码短语。将其保存在您不会丢失的地方。

步骤三:安排和保留

对于大多数个人用户来说,每天更新一次就足够了。如果 OpenClaw "全天"运行且你非常依赖它,那么每 6 小时更新一次也是合理的。

留存率因人而异。我喜欢简单的模式:

  • 每天一次,持续7至14天
  • 每周一次,持续 4 至 8 周
  • 每月一次,持续几个月

最重要的是,你可以恢复到上周的状态。这就是"我搞砸了配置但没立刻发现"的情况。

步骤 4:尽早进行测试恢复

不要等到灾难发生那天才行动。将文件还原到临时文件夹,并确认看到以下内容:

  • openclaw.json
  • agents/和会话文件
  • workspace/包含记忆和角色文件

服务器配置方面,可以使用 restic 或 Borg 进行备份。

如果你在 VPS 或家庭实验室机器上运行 OpenClaw,那么 restic 和 Borg 是常见的选择,因为它们可编写脚本且可靠。

Restic 默认使用加密,其文档描述了如何使用 scrypt 从存储库密码派生密钥,然后使用 AES-256 进行加密。restic参考资料

如果你想深入了解密码学,Filippo Valsorda 写了一篇详细的文章,分析了 restic 的文件加密格式和先加密后 MAC 的设计。restic密码学笔记

一个简单的 restic 示例

复制代码
`export RESTIC_REPOSITORY="s3:s3.amazonaws.com/your-bucket/openclaw"
export RESTIC_PASSWORD="use-a-real-passphrase-here"

restic backup "$HOME/.openclaw"
restic forget --keep-daily 14 --keep-weekly 8 --keep-monthly 6 --prune`

如果在VPS上执行此操作,请确保密码不会保存在shell历史记录中。请使用权限严格的环境变量文件或密钥管理器。

Docker 和卷备份

只要接受一个事实,Docker 设置就很简单:"重要文件夹"通常是卷。所以你需要备份卷。

您可能有:

  • 一卷OPENCLAW_STATE_DIR
  • 用于工作区目录的卷
  • 如果您运行的是 Postgres 或 MySQL,则需要数据库卷。

一致的快照

如果您需要一致的时间点备份,可以停止服务、创建快照,然后再重新启动服务。这样做会造成停机时间,但可以避免出现奇怪的部分备份。

如果您使用的是 ZFS 或 LVM,还可以进行文件系统快照。对于 24/7 全天候运行的服务来说,这通常是最佳方案,因为它可以在不长时间停机的情况下提供一致的视图。

数据库转储

如果您将会话或仪表板存储在 Postgres 或 MySQL 中,也请备份数据库。这通常意味着:

  • pg_dump适用于Postgres
  • mysqldump适用于 MySQL

像其他所有数据一样,对数据库转储文件进行加密。

迁移到新机器

这是大多数人关心的场景:你买了一台新的迷你电脑,或者你正在将 OpenClaw 从测试 VPS 迁移到生产 VPS。

官方迁移文档简明扼要,非常实用。文档建议停止网关并归档.openclaw工作区。OpenClaw正在迁移

在旧机器上

复制代码
`# Stop the gateway so files are not changing during copy
openclaw gateway stop

# Archive state dir
cd ~
tar -czf openclaw-state.tgz .openclaw

# Archive workspace (adjust if your workspace is elsewhere)
tar -czf openclaw-workspace.tgz .openclaw/workspace`

在新机器上

请先安装 OpenClaw,然后将归档文件恢复到正确位置。

复制代码
`cd ~
tar -xzf /path/to/openclaw-state.tgz
tar -xzf /path/to/openclaw-workspace.tgz`

然后启动网关:

复制代码
`openclaw gateway start
openclaw status`

核实:

  • 通道已连接并正在回复
  • 记忆回忆功能正常(问它一些你知道自己记得的事情)。
  • 你的技能已经非常强大了。

如果您只恢复工作区而不恢复状态目录,则需要重新验证提供程序并重新配对通道。这并非"错误",但您应该预料到这种情况。

会话和聊天记录

会话记录保存在状态目录下,每个代理都有各自的目录。目前还没有通用的"导出会话为 JSON 并导入"按钮。因此,如果您重视会话数据,请务必备份状态目录。

一个实用技巧:如果您正在调试会话行为或想要确认恢复后会话是否存在,从 CLI 列出会话通常是最快的健全性检查。

一个不会泄露机密信息的 Git 备份方案

Git 非常适合存放个人资料文件和技能描述。但它不适合存放机密信息,也不适合快速增长的内存日志。

优秀的 Git 候选人:

  • SOUL.md,,,AGENTS.md``USER.md``TOOLS.md
  • skills/文件夹
  • 需要版本控制的模板和参考文件

不推荐的 Git 版本:

  • openclaw.json如果它包含秘密
  • 如果您在意代码库大小,则需要注意大型且频繁更改的内存文件。

我见过一种行之有效的模式:使用 Git 管理技能和角色文件,对状态目录和内存进行加密备份。这样既能获得清晰的"更改"差异,又能确保所有敏感数据都能真正恢复。

恢复运行手册,您可以将其复制到笔记中。

我喜欢简洁的流程手册,可以放在一个屏幕上显示。这是我的。

备份清单

  • 状态目录已包含
  • 包含工作区目录
  • 如果使用,则包含媒体文件夹
  • 如果使用,则包含数据库转储。
  • 备份已加密
  • 存在异地副本
  • 配置保留策略

恢复序列

  • 停止 OpenClaw 网关
  • 恢复状态目录
  • 恢复工作区目录
  • 如果使用数据库,请恢复数据库。
  • 启动 OpenClaw 网关
  • 验证通道、会话、内存、技能

一些实用的小建议,日后能帮到你。

不要将唯一的备份保存在同一块磁盘上。

这听起来显而易见,但人们仍然这样做。如果硬盘损坏,你的备份也会丢失。

明确指定工作区路径

如果您运行多个代理,请清晰命名工作区并保持其稳定。以后移动工作区是可以的,但您最终会修改配置、脚本和一些假设。

大型配置修改后请备份

OpenClaw 配置文件会随着时间推移而不断增大。添加频道、技能或代理后,请手动触发备份。虽然有点麻烦,但确实有效。

相关推荐
阿泽·黑核2 小时前
Easy Vibe Coding 学习心得(六):RAG 入门——让 AI 拥有企业级知识库
人工智能·vibe coding·easy vibe
光之后裔2 小时前
人工智能对计算机领域冲击思考
人工智能
AI人工智能+2 小时前
一种融合大模型微调与高精度OCR的智能文档抽取系统,实现对合同文本中关键要素的高精度语义理解与结构化抽取
人工智能·语言模型·ocr·文档抽取
程序员水自流2 小时前
【AI大模型第13集】Transformer底层架构原理详细介绍(核心组件拆解分析)
java·人工智能·架构·llm·transformer
code_pgf2 小时前
openclaw配置高德导航、京东商品搜索、QQ 音乐播放控制
人工智能·gateway·边缘计算
IT观测2 小时前
品牌在AI中的影响力如何评估?2026年AI营销工具实战选型指南
大数据·人工智能
ai_xiaogui2 小时前
PanelAI前端全面升级!私有化部署AI面板控制台+生态市场一键管理详解
前端·人工智能·comfyui一键部署·生态市场算力共享·ai面板控制台·panelai私有化部署·大模型前端管理
JavaEdge.2 小时前
openclaw 本地部署实战:含网关启动 + 本地模型接入完整步骤
java·openclaw
海水冷却2 小时前
RTC成语音AI基础设施:AWS和ElevenLabs相继跟进,ZEGO已跑三年
人工智能·实时音视频·aws