# 🔄 OpenClaw 自动备份系统 ## 📋 系统概述 自动备份 OpenClaw 核心配置和工作区数据,每天凌晨 3 点执行,保留最近 7 天的备份。 --- ## 🎯 备份内容 ### 核心配置 - `openclaw.json` - 主配置文件(含 API 密钥) - `cron/jobs.json` - 定时任务配置 - `identity/device.json` - 设备身份密钥 - `wecomConfig/config.json` - 企业微信 MCP 配置 - `credentials/` - 凭证文件 - `devices/` - 设备配对信息 ### 工作区(最重要) - `MEMORY.md` - 长期记忆 - `SOUL.md` - 核心身份 - `IDENTITY.md` - 人设定义 - `USER.md` - 用户档案 - `HEARTBEAT.md` - 心跳任务 - `skills/` - 自定义技能(5 个) - `memory/` - 短期记忆文件 --- ## ⏰ 执行时间 - **频率**: 每天一次 - **时间**: 凌晨 03:00(北京时间) - **时区**: Asia/Shanghai - **任务 ID**: `6a0ae369-7c2f-423f-b973-739e999f85c4` --- ## 📂 存储位置 - **备份目录**: `/home/ubuntu/backups/openclaw/` - **备份格式**: `openclaw_YYYYMMDD_HHMMSS.tar.gz` - **报告文件**: `/tmp/openclaw_backup_report_YYYYMMDD_HHMMSS.txt` --- ## 📤 通知方式 每次备份完成后,通过企业微信自动发送详细报告: ``` 🦐 OpenClaw 备份完成报告 📅 备份时间:2026-03-17 14:29:49 📦 备份文件:openclaw_20260317_142949.tar.gz 💾 压缩包大小:200K 📊 备份内容: ✅ 核心配置 (openclaw.json) ✅ 定时任务 (cron/) ✅ 设备身份 (identity/) ✅ 企业微信配置 (wecomConfig/) ✅ 凭证文件 (credentials/) ✅ 工作区 (workspace/) - 记忆文件:10 个 - 自定义技能:5 个 📋 备份统计: • 总备份数:1 个 • 总占用:204K • 保留策略:7 天 ✅ 备份状态:成功 🧹 旧备份已清理 ``` --- ## 🛠️ 脚本文件 ### 备份脚本 **路径**: `~/.openclaw/workspace/scripts/openclaw-backup.sh` **功能**: - 备份所有核心配置文件 - 备份工作区(记忆、技能等) - 创建压缩备份(tar.gz) - 清理 7 天前的旧备份 - 生成详细报告 **手动执行**: ```bash bash ~/.openclaw/workspace/scripts/openclaw-backup.sh ``` ### 通知脚本 **路径**: `~/.openclaw/workspace/scripts/openclaw-backup-notify.sh` **功能**: - 读取备份报告 - 通过 OpenClaw 发送企业微信通知 --- ## 🧹 保留策略 - **保留时间**: 7 天 - **清理方式**: 自动删除 7 天前的备份 - **执行时间**: 每次备份完成后 **清理逻辑**: ```bash find ~/backups/openclaw -name "openclaw_*.tar.gz" -mtime +7 -delete ``` --- ## 📊 备份统计 | 项目 | 大小 | 说明 | |------|------|------| | openclaw.json | ~12K | 主配置 | | cron/ | ~60K | 定时任务 | | identity/ | ~12K | 设备密钥 | | wecomConfig/ | ~8K | 企微配置 | | credentials/ | ~16K | 凭证 | | devices/ | ~12K | 配对信息 | | workspace/ | ~1.2M | 工作区 | | **压缩包** | **~200K** | 压缩后 | --- ## 🔒 安全建议 ### 1. 加密备份 ```bash # 使用 GPG 加密 gpg --symmetric --cipher-algo AES256 openclaw_20260317_030000.tar.gz ``` ### 2. 远程备份 ```bash # 同步到远程服务器 rsync -avz ~/backups/openclaw/ user@remote:/backups/openclaw/ ``` ### 3. 权限控制 ```bash # 设置备份目录权限 chmod 700 ~/backups/openclaw/ ``` --- ## 🔧 管理命令 ### 查看备份列表 ```bash ls -lh ~/backups/openclaw/ ``` ### 查看最近备份 ```bash ls -lt ~/backups/openclaw/ | head -5 ``` ### 手动备份 ```bash bash ~/.openclaw/workspace/scripts/openclaw-backup.sh ``` ### 查看备份报告 ```bash cat /tmp/openclaw_backup_report_*.txt ``` ### 恢复备份 ```bash # 1. 停止 OpenClaw openclaw gateway stop # 2. 解压备份 cd ~/backups/openclaw/ tar -xzf openclaw_20260317_030000.tar.gz # 3. 恢复配置 cp openclaw_20260317_030000/openclaw.json ~/.openclaw/ cp -r openclaw_20260317_030000/cron ~/.openclaw/ cp -r openclaw_20260317_030000/identity ~/.openclaw/ cp -r openclaw_20260317_030000/wecomConfig ~/.openclaw/ cp -r openclaw_20260317_030000/credentials ~/.openclaw/ cp -r openclaw_20260317_030000/devices ~/.openclaw/ cp -r openclaw_20260317_030000/workspace ~/.openclaw/ # 4. 重启 OpenClaw openclaw gateway start ``` --- ## ⚠️ 故障排查 ### 备份失败 1. 检查磁盘空间:`df -h` 2. 检查脚本权限:`chmod +x ~/.openclaw/workspace/scripts/*.sh` 3. 查看错误日志:`cat /tmp/openclaw_backup_report_*.txt` ### 通知未发送 1. 检查 OpenClaw 是否运行:`openclaw gateway status` 2. 检查企业微信配置:`cat ~/.openclaw/openclaw.json | grep wecom` 3. 手动发送测试:使用 `openclaw sessions send` ### 备份文件过大 1. 排除不必要文件(extensions/、node_modules/) 2. 检查 workspace/是否有大文件 3. 考虑使用增量备份 --- ## 📅 维护计划 ### 每日(自动) - 03:00 执行备份 - 发送备份报告 - 清理 7 天前备份 ### 每周(建议) - 检查备份文件大小是否正常 - 验证备份文件完整性 - 审查备份日志 ### 每月(建议) - 测试备份恢复流程 - 清理本地备份(保留最近 30 天) - 同步到远程存储 --- ## 📝 更新日志 | 日期 | 版本 | 更新内容 | |------|------|----------| | 2026-03-17 | v1.0 | 初始版本,部署自动备份系统 | --- **部署日期**: 2026-03-17 **下次备份**: 2026-03-18 03:00 **任务状态**: ✅ 正常运行