自动备份 OpenClaw 配置和工作空间的智能备份技能。通过自动感知排除大型可下载文件、可重新生成的构建产物和临时缓存,生成精简而完整的 .tar.gz 备份。
触发语句
需要提供的信息
输出目录 — 备份保存位置,默认 D:\Personal\Archive(Windows)或 ~/Archive保留数量 — 最多保留 N 个历史备份,默认 30,0=不限制跳过大文件 — 是否直接跳过超过 100MB 的文件当用户激活此技能时,按以下 SOP 执行:
.openclaw 配置目录(优先级: %USERPROFILE%\.openclaw)workspace 工作空间(优先级: D:\Personal\OpenClaw → %USERPROFILE%\OpenClaw)openclaw_backup.json 配置检查点:
通过以下多维度自动排除不需备份的内容:
类别规则原因临时/日志*.log, *.tmp, *.bak, *.pid, *.swp运行时生成,无需备份版本控制.git, .svn, .hg远程已托管,本地备份冗余Python 缓存__pycache__, *.pyc, *.pyo, .mypy_cache可通过源代码重新编译Node 依赖node_modules, .npm, .pnpm-store可通过 package.json 重新安装构建产物dist, build, .next, target, out可通过源代码重新构建包管理器缓存.nuget, .cargo, .gradle, .m2, .yarn可自动重新下载虚拟环境.venv, venv, .tox可通过依赖文件重新创建浏览器数据.browser-profile, .browser_data缓存数据,体积巨大符号链接所有 symlink / junction避免循环遍历和冗余大型可下载文件*.whl, *.exe, *.dll, *.so, *.bin可从官方渠道重新获取大型文件单文件 > 100MB可配置跳过或包含OpenClaw 特有skills-backup, .clawhub, flows, .dreams冗余或自动生成
通配符支持:
skills-backup-* 匹配任何以 skills-backup- 开头的文件夹*.egg-info 匹配所有以 .egg-info 结尾的文件夹验证标准:
openclaw-backup-YYYYMMDD-HHmmss.tar.gztarfile + gzip,零外部依赖C:\ 转换为 C_/ )验证标准:
MaxBackups 保留最近的备份备份完成后输出:
text
[OK] 备份完成: D:\Personal\Archive\openclaw-backup-20260513-095600.tar.gz
[INFO] 文件数: 1523, 原始大小: 45.32 MB, 压缩后: 12.85 MB, 压缩率: 28.4%
[INFO] 排除统计: 扩展名=42, 文件夹=15, 文件名=3, 符号链接=0, 大型文件=2, 可下载=5, 总计=67
text
OpenClaw Smart Backup - 智能感知报告
============================================================
[INFO] 备份文件类型分布 (Top 10):
.md 234 个 (2.15 MB)
.py 89 个 (1.23 MB)
.json 45 个 (0.87 MB)
.js 32 个 (0.56 MB)
...
智能排除说明:
- 日志/临时文件 (.log, .tmp) → 运行时生成,无需备份
- 版本控制目录 (.git) → 远程已托管,无需备份
- Node依赖 (node_modules) → 可通过 package.json 重新安装
- 构建产物 (dist, build, .next) → 可通过源代码重新构建
...
============================================================
配置文件位置: %APPDATA%\OpenClaw_Backup\openclaw_backup.json(Windows)或 ~/.config/openclaw-backup/openclaw_backup.json
参数类型默认值说明config_directorystring"" (自动检测).openclaw 配置目录workspace_directorystring"" (自动检测)工作空间目录output_directorystring"D:\Personal\Archive"备份输出目录filename_prefixstring"openclaw-backup"备份文件名前缀max_backupsint30保留最近 N 个,0=不限制max_file_size_mbint100单文件大小警告阈值skip_large_filesboolfalsetrue=直接跳过超大文件compression_levelint6gzip 压缩级别 1-9excluded_extensionslist[见上文]排除的文件扩展名excluded_folderslist[见上文]排除的文件夹名(支持 * 通配符)excluded_fileslist[见上文]排除的特定文件名large_downloadable_patternslist[见上文]大型可下载文件通配符
text
用户: "备份 OpenClaw"
我: 执行 scripts/backup.py,自动检测目录、智能排除、创建 tar.gz、清理过期备份、输出智能感知报告
text
用户: "预览备份"
我: 使用 --dry-run 参数运行,列出将备份的文件列表和预估大小,不实际创建文件
text
用户: "备份到 E:\\Backups"
我: 使用 --output "E:\\Backups" 参数运行备份脚本
text
用户: "那些文件被排除了"
我: 使用 --list-excluded 参数(或演示 dry-run 输出)展示被跳过的文件
bash
python scripts/backup.py
python scripts/backup.py --dry-run
python scripts/backup.py --output D:\Backups --max-backups 10
python scripts/backup.py --skip-large --config-dir C:\Users\Me\.openclaw
tarfile — 标准库,无需额外安装技能版本: v1.0 更新日期: 2026-05-13