核心用法
webdav-backup 是 OpenClaw 生态内置的数据保护技能,提供本地归档与云端同步双模式备份能力。用户可通过命令行手动触发,或配置 cron 实现自动化定时备份。
基础操作:
- 纯本地备份:
--local-only将工作目录打包至~/openclaw/output - 云端双备份:默认同时上传 WebDAV 并保留本地副本
- 自定义源:
--source支持单文件/目录的针对性备份 - 恢复机制:
--restore支持从本地或云端还原,提供--force覆盖选项
默认备份清单包含完整的 OpenClaw 运行态:主工作区 workspace/、核心配置 openclaw.json、定时任务 cron/ 及备份清单 manifest,确保跨设备迁移的完整性。
显著优点
1. 配置灵活度高:支持 openclaw.json 持久化配置与临时环境变量两种方式,优先级机制清晰
2. 多服务兼容:原生适配坚果云、Nextcloud、ownCloud 及阿里云盘(需插件)等主流 WebDAV 服务
3. 智能排除机制:内置 .git/、node_modules/、__pycache__/ 等 10 余项过滤规则,避免冗余数据膨胀
4. 场景化恢复指南:文档提供分场景恢复策略——核对预览、部分恢复、完整迁移、强制覆盖,降低误操作风险
5. 自动化友好:与 OpenClaw cron 子系统深度集成,支持无人值守定时备份
潜在缺点与局限性
- 凭证安全依赖用户:WebDAV 密码需明文存储于配置文件或环境变量,缺乏内置加密或密钥托管机制
- 无增量备份:全量 tar.gz 打包模式,长期高频备份将产生显著存储冗余
- 恢复粒度较粗:虽支持预览核对,但无法直接提取备份包内单个文件,需先完整解压
- 网络故障处理未详述:WebDAV 上传失败时的重试、断点续传、本地回滚策略文档覆盖不足
- 版本管理缺失:备份文件以时间戳命名,无自动清理旧版本或保留策略的说明
适合人群
- 多设备用户:需要在笔记本、服务器、云端之间同步 OpenClaw 工作环境的开发者
- 数据敏感型用户:重视配置与记忆数据安全,希望建立定期归档习惯的个体
- 迁移/重装场景:系统重装前快速打包完整环境,或向新机器迁移 OpenClaw 配置
- 轻度自动化需求者:希望通过 cron 实现"设定即忘"备份策略,无需复杂运维知识
常规风险
| 风险类别 | 具体表现 | 缓解建议 |
|---------|---------|---------|
| **凭证泄露** | 密码明文存储于 `~/.openclaw/openclaw.json`,若文件权限 644 或被同步至 Git 将导致暴露 | 严格设置 600 权限,避免纳入版本控制,优先使用坚果云应用密码而非主账号密码 |
| **备份完整性误判** | `--force` 强制覆盖可能导致有效数据被旧备份还原覆盖 | 恢复前务必使用 `--restore-dir` 指定临时目录预览,核对 `backup-manifest.json` |
| **存储膨胀** | 无自动清理机制,长期运行后 `output/` 目录可能占满磁盘 | 定期手动清理或配置外部脚本轮转旧备份 |
| **WebDAV 可用性** | 第三方服务故障或账号异常将导致云端备份中断,若未关注日志可能长期无感知 | 建议 `--local-only` 与完整备份交替使用,关键节点后主动 `--list-remote` 验证 |
| **依赖环境变量优先级** | 环境变量 > 配置文件 的优先级设计,可能在 CI/CD 等场景引发预期外行为 | 自动化脚本中显式 unset 相关变量或统一使用单一配置来源 |
---
认证说明:本报告基于技能文档自动生成,未执行动态安全扫描。实际部署前建议在隔离环境验证备份/恢复流程。