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

  发布时间:2026-03-23 11:25:34   作者:奇华智能   我要评论
这篇文章给大家介绍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.mdTOOLS.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.mdUSER.mdTOOLS.md
  • skills/文件夹
  • 需要版本控制的模板和参考文件

不推荐的 Git 版本:

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

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

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

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

备份清单

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

恢复序列

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

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

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

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

明确指定工作区路径

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

大型配置修改后请备份

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

到此这篇关于OpenClaw 数据、设置和内存备份指南的文章就介绍到这了,更多相关OpenClaw 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

  • openclaw的git备份策略全解析-skill已上线

    本文介绍了两种为openclaw工具进行数据备份的方法,文中还提供了已上传至clawhub的备份脚本安装方法,两种备份方式结合使用,可确保openclaw数据安全,避免意外丢失,感兴趣的
    2026-03-23
  • OpenClaw全网板块公开的数据自动收集(2026版)

    OpenClaw 可通过本地一键部署+自然语言指令,实现全网板块数据自动抓取、清洗、定时更新与导出,全程无需写代码,大众可直接上手,下面是保姆级配置流程,有需要的可以了解一
    2026-03-18
  • 手把手教你5种OpenClaw平滑升级方法(定期升级,数据不丢失)

    这篇文章主要介绍了5种OpenClaw平滑升级方法的相关资料,包括全局安装升级、源码升级、渠道切换等,无论你是新手还是老用户,都能找到适合自己的升级方案,需要的朋友可以参考
    2026-03-11
  • OpenClaw数据分析与可视化实战案例

    OpenClaw作为一款开源的本地AI助理框架,具备强大的自然语言处理能力和灵活的插件化架构,这篇文章主要介绍了OpenClaw数据分析与可视化的相关资料,文中通过代码介绍的非常详
    2026-03-11

最新评论