安全加密的OpenClaw备份至S3/R2/B2/MinIO,支持精简模式、可选定时任务和分阶段恢复。仅在明确请求备份或恢复OpenClaw时使用。
OpenClaw 云备份是一项面向实际任务的技能,主要用于OpenClaw 本地备份的云层;Wraps openclaw 备份创建;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
OpenClaw 原生备份功能的云层实现。封装 openclaw backup create(配置、凭据、一致的 SQLite 快照、workspace),随后使用 GPG 加密并将归档上传至任意兼容 S3 的存储桶,支持保留策略、完整性校验与分阶段恢复。
所有命令格式:bash "{baseDir}/scripts/cloud-backup.sh" <子命令>
仅在用户明确提及 OpenClaw 备份时触发:例如“备份 openclaw”、“恢复我的 openclaw 状态”、“为 openclaw 配置云备份”、“/cloud-backup”,以及其他语义相近的请求。
status、list、verify、schedule,以及任何带 --dry-run 参数的命令)可在用户提出备份相关问题后自由执行;其余所有操作均须遵守下文所述的确认机制。在执行任何改变状态的操作之前,必须向用户清晰展示即将发生的全部动作,并获得其明确的“是”确认。每个操作对应一个独立确认环节——不得重复询问用户刚确认过的内容,也不得批量确认多个操作。
| 操作 | 执行前必须向用户展示的内容 |
|---|---|
写入配置(openclaw config patch) |
将要写入的每一个 key=value 对,原样呈现。禁止写入任何密钥类内容——参见“凭据”章节。 |
| 首次向新目标位置执行备份 | backup 的输出结果:作用范围、敏感度判定、加密状态、目标地址 s3://bucket/prefix。 |
| 存储 / 替换凭据 | 仅展示文件路径及存储方式(AWS profile / 密码短语文件)。密钥值本身不得经由本次对话传输——此类命令应由用户自行运行。 |
| 恢复(restore) | 第一步:始终先执行 restore 并展示待恢复的文件列表;第二步:明确说明哪些路径将被覆盖(分阶段恢复会写入全新目录;--in-place 则直接覆盖当前运行态),随后再次要求用户明确确认。严禁跳过 dry-run 步骤。 |
| 清理(prune) | prune --dry-run 的输出结果:将被删除的归档(本地与远程)名称列表。 |
| 创建调度任务(schedule) | 完整的 openclaw cron add ... 命令及其完整有效载荷文本(详见“调度”章节)。 |
对已确认过的目标位置重复执行的手动备份无需新增确认环节——用户的请求本身即构成确认。但仍需在执行前回显一行简明计划(例如:“全量备份,已加密 → s3://bucket/prefix”)。
仅当调度任务的有效载荷明确标记为“操作员预确认”时,backup 和 prune 才可在无人值守模式下运行。在无人值守运行中:严禁执行恢复操作、严禁修改配置、严禁创建或变更调度任务、严禁存储凭据。
当用户询问“哪些内容会被备份?”时,请回显下表:
| 模式 | 包含内容 | 默认排除内容 | 敏感度 |
|---|---|---|---|
backup full(默认) |
openclaw.json、credentials/ 目录、密钥存储、state + agent 的 SQLite 快照、agent memory、workspace、已安装的 skills | 会话记录(session transcripts)、codex 缓存/日志、qmd embedding 缓存(含模型与索引)、tools/、media/、logs/、旧备份 | 敏感 —— 强制加密 |
backup full --everything |
上述全部内容 + 会话记录与 codex 历史记录 | 仅排除先前的备份归档 | 敏感 —— 强制加密 |
backup settings |
openclaw.json、密钥存储、credentials/ 目录、认证文件 | 其余全部内容 | 敏感 —— 始终加密,不可禁用 |
backup workspace |
workspace 目录(skills、memory 文件等) | 全部 state / config | 默认加密;此处唯一允许使用 --no-encrypt |
“敏感 —— 强制加密”表示脚本拒绝为此类范围生成明文归档(退出码 14)。请勿绕过该限制;若用户明确需要可共享的明文归档,请推荐改用 config.excludeSecrets=true。用户可通过 config.exclude / config.include(基于 state 路径的 glob 表达式)进一步调整备份范围。
| 命令 | 功能说明 | 是否需确认? |
|---|---|---|
backup [full|settings|workspace] [--everything] [--no-upload] [--dry-run] [--json] |
创建归档、加密、上传、应用保留策略 | dry-run 免确认;其余参见确认机制 |
list |
列出本地与远程备份;标识失败残留物 | 否 |
status |
健康状态:最近一次备份时间、凭据来源、敏感度判定、调度状态、连通性 | 否 |
verify [name|--latest] [--deep] |
校验和 + 解密 + 列表;--deep 还将执行 openclaw backup verify |
否 |
restore |
默认执行分阶段恢复(staged restore) | 是 —— 分两步确认 |
prune [--dry-run] |
应用保留策略;清理失败残留物 | 是 |
schedule |
仅打印启用 cron 的命令(不实际创建任何任务) | 否 |
setup |
初始化检查清单 + 连接测试(不写入任何配置) | 配置写入操作单独受确认机制约束 |
退出码(请精确报告,尤其在 cron 场景中):0 成功 · 3 成功但含警告 · 4 参数错误 · 10 其他进程持有锁 · 11 缺少依赖 · 12 磁盘空间不足 · 13 云服务不可达 / 凭据错误 · 14 加密必需但不可用 · 20–25 创建 / 过滤 / 加密 / 上传 / 校验失败 · 30 恢复失败。
请严格按 references/setup-flow.md 文档逐步操作。概要如下:选择云服务商 → 用户按各服务商指南创建最小权限的 bucket 级别密钥 → 将凭据**存于 OpenClaw 配置之外**(推荐使用 AWS profile)→ 写入非密钥类配置(需确认)→ 测试连接 → 使用生成的密码短语文件启用加密 → 执行首次手动备份(需确认)→ 此后才可提供调度选项(需确认)。
解析顺序与存储规则详见:references/credentials.md。硬性规则如下:
skills.entries.cloud-backup.env.*)。备份归档会包含该文件:若配置中存在明文凭据,则该凭据将被嵌入其所保护的每一个归档中。config.profile,推荐)或由操作员管理的进程环境变量中;密码短语则应存放于权限为 600 的密码短语文件中(config.passphraseFile)。config.accessKeyRef / config.secretKeyRef / config.passphraseRef 支持 OpenClaw SecretRefs({source: env|file|exec}),并依据 .secrets.providers 解析——包括类似 1Password 的 exec 类型 provider。若配置了但解析失败,任务将中止,**不会降级回退**。aws configure --profile ... 及密码短语生成器。references/credentials.md 中的迁移方案。切勿默认、隐式或以“备份理应被调度”为由创建、修改或启用 cron 任务。技能文档仅说明如何配置 cron;是否启用完全由用户自主决定。
仅在首次手动备份成功后,**且仅提供一次**调度选项:
“备份已通过验证。是否需要我将其设为每日自动执行?我将为您创建如下 cron 任务——在您明确确认前,不会有任何任务被实际调度:”
随后运行 schedule 子命令打印确切命令,根据用户环境调整时间 / 时区 / 执行方式,完整展示命令文本,并等待用户明确确认后才执行。若用户拒绝,请立即放弃,且后续运行中不再重复提供(首次调用前请先检查 openclaw cron list —— 若已存在 cloud-backup 类型任务,则永不二次提供)。如需移除已有调度,请使用:openclaw cron rm 。
restore、prune 或任何 openclaw cron 修改类操作。backup 可重试一次,但前提是根本原因已修复且用户明确同意。--no-encrypt 或临时密码短语规避。请引导用户完成 setup 流程。references/credentials.md —— 凭据解析链、v1→v2 迁移指南、各类警告references/setup-flow.md —— 引导式首次设置流程references/providers/{aws-s3,cloudflare-r2,backblaze-b2,digitalocean-spaces,minio,other}.mdreferences/security.md —— 威胁模型、恢复安全性、事件响应流程相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章