docs: 更新 README,整理当前备份架构 2026-03-28
This commit is contained in:
@@ -1,300 +1,89 @@
|
|||||||
> 作者:欢欢助理
|
# OpenClaw 备份系统
|
||||||
> 日期:2026-03-21
|
|
||||||
> 版本:v1.0
|
> 作者:欢欢助理
|
||||||
|
> 更新:2026-03-28
|
||||||
|
> 仓库:https://gitea.94kan.cn/houhuan/openclaw-home-pc
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 一、方案概述
|
## 一、系统架构
|
||||||
|
|
||||||
### 1.1 背景
|
### 备份目录结构
|
||||||
|
|
||||||
为了防止机器崩溃导致 OpenClaw 配置丢失,我们需要建立完整的备份机制。
|
```
|
||||||
|
~/openclaw-backup/
|
||||||
|
├── config/ # 配置文件(mcporter.json、TASKS.md)
|
||||||
|
├── docs/ # 文档
|
||||||
|
├── knowledge/ # 知识库
|
||||||
|
├── memory/ # 记忆系统文件
|
||||||
|
├── openclaw/ # OpenClaw 核心(extensions/skills 等)
|
||||||
|
├── reports/ # 报告输出
|
||||||
|
├── scripts/ # 备份脚本
|
||||||
|
├── skills/ # 技能备份
|
||||||
|
├── vector_memory/ # 向量记忆备份(增量快照)
|
||||||
|
├── AGENTS.md # 工作区核心文件
|
||||||
|
├── HEARTBEAT.md
|
||||||
|
├── IDENTITY.md
|
||||||
|
├── MEMORY.md
|
||||||
|
├── SOUL.md
|
||||||
|
├── TOOLS.md
|
||||||
|
└── USER.md
|
||||||
|
```
|
||||||
|
|
||||||
### 1.2 备份目标
|
### 备份目标
|
||||||
|
|
||||||
| 备份项 | 说明 | 大小 |
|
| 备份项 | 说明 | 备份方式 |
|
||||||
|--------|------|------|
|
|--------|------|----------|
|
||||||
| OpenClaw 配置 | agents、extensions、skills、feishu、wecomConfig、cron | ~100MB |
|
| 工作区核心文件 | AGENTS/SOUL/USER/MEMORY 等 | Git 推送到 Gitea |
|
||||||
| 工作区 | workspace 目录 | ~1MB |
|
| OpenClaw 配置 | extensions、skills、config | Git 推送到 Gitea |
|
||||||
| 向量记忆 | vector_memory 数据 | ~1MB |
|
| 向量记忆 | main.sqlite | 增量快照(rsync 硬链接) |
|
||||||
|
| 记忆文件 | memory/ 目录 | Git 推送 |
|
||||||
### 1.3 备份策略
|
| 备份脚本 | scripts/ | Git 推送 |
|
||||||
|
|
||||||
| 备份位置 | 频率 | 方式 |
|
|
||||||
|----------|------|------|
|
|
||||||
| 本地 | 每天 3:00 | 自动备份到 `~/openclaw-backup/` |
|
|
||||||
| Gitea | 每天 4:00 | 推送到远程仓库 |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 二、详细部署步骤
|
## 二、定时任务
|
||||||
|
|
||||||
### 2.1 环境准备
|
| 任务 | 时间 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
#### 第 1 步:安装依赖
|
| 向量记忆备份 | 每日 03:00 | 增量快照,保留 14 天 |
|
||||||
|
| OpenClaw 备份到 Gitea | 每日 04:00 | Git add → commit → push |
|
||||||
```bash
|
| 系统审计报告 | 每日 09:00 | 检查 cron/磁盘/记忆健康 |
|
||||||
# 更新系统
|
| 每日早报推送 | 每日 07:00 | 微信摘要 + 飞书完整版 |
|
||||||
sudo apt-get update
|
| 目录优化检查 | 每周日 20:00 | 检查冗余、清理、建议 |
|
||||||
|
| 邮件摘要 | 每日 06:00 | Gmail 未读邮件摘要 |
|
||||||
# 安装 Python 和 pip
|
| 股票分析 | 工作日 21:00 | 收盘分析 |
|
||||||
sudo apt-get install -y python3-pip
|
|
||||||
|
|
||||||
# 安装 Git(通常已预装)
|
|
||||||
which git # 检查是否已安装
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第 2 步:克隆备份仓库
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 克隆 Gitea 仓库
|
|
||||||
cd ~
|
|
||||||
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git openclaw-backup
|
|
||||||
|
|
||||||
# 进入目录
|
|
||||||
cd openclaw-backup
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第 3 步:配置 Git
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 配置用户名(用于提交记录)
|
|
||||||
git config user.email "你的邮箱@example.com"
|
|
||||||
git config user.name "你的名字"
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第 4 步:配置远程仓库认证(可选)
|
|
||||||
|
|
||||||
如果需要自动推送,需要配置 Access Token:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 方式:使用 Token 修改远程地址
|
|
||||||
git remote set-url origin https://用户名:TOKEN@gitea.94kan.cn/houhuan/openclaw-home-pc.git
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.2 备份脚本使用
|
|
||||||
|
|
||||||
#### 手动运行备份
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/openclaw-backup
|
|
||||||
|
|
||||||
# 添加需要备份的文件
|
|
||||||
git add -A
|
|
||||||
|
|
||||||
# 提交
|
|
||||||
git commit -m "更新备份 - $(date '+%Y-%m-%d')"
|
|
||||||
|
|
||||||
# 推送到 Gitea
|
|
||||||
git push origin master
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 自动定时备份
|
|
||||||
|
|
||||||
已配置 Cron 定时任务:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 查看定时任务
|
|
||||||
crontab -l
|
|
||||||
# 输出:0 4 * * * cd ~ && cd openclaw-backup && git add -A && git commit -m "备份 $(date '+\%Y-\%m-\%d')" && git push origin master
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.3 向量记忆系统备份
|
|
||||||
|
|
||||||
向量记忆系统有独立的备份机制:
|
|
||||||
|
|
||||||
#### 本地备份
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/openclaw-memory-vector
|
|
||||||
export SILICONFLOW_API_KEY="你的API Key"
|
|
||||||
|
|
||||||
# 手动备份
|
|
||||||
python3 memory_backup.py backup
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
备份文件位置:`~/openclaw-memory-vector/backups/`
|
|
||||||
|
|
||||||
#### 定时备份
|
|
||||||
|
|
||||||
已在 OpenClaw 中配置定时任务:每天凌晨 3:00 自动执行备份。
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 三、恢复指南
|
## 三、恢复流程
|
||||||
|
|
||||||
### 3.1 一键恢复(推荐 ✅)
|
### 从 Gitea 恢复
|
||||||
|
|
||||||
全新安装 OpenClaw 后,只需一行命令即可恢复全部配置:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 克隆仓库
|
# 克隆仓库
|
||||||
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git ~/openclaw-backup
|
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git ~/openclaw-backup
|
||||||
|
|
||||||
# 一键恢复
|
# 拉取最新
|
||||||
cd ~/openclaw-backup
|
cd ~/openclaw-backup
|
||||||
./restore.sh
|
git pull origin master
|
||||||
```
|
```
|
||||||
|
|
||||||
**恢复脚本会自动:**
|
### 向量记忆恢复
|
||||||
- 备份现有配置(如有)
|
|
||||||
- 恢复 OpenClaw 配置 → `~/.openclaw/`
|
|
||||||
- 恢复工作区 → `~/.openclaw/workspace/`
|
|
||||||
- 恢复向量记忆 → `~/openclaw-memory-vector/`
|
|
||||||
|
|
||||||
**恢复后重启服务:**
|
|
||||||
```bash
|
|
||||||
openclaw gateway restart
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3.2 手动恢复(备用)
|
|
||||||
|
|
||||||
如果不想用脚本,也可以手动复制:
|
|
||||||
|
|
||||||
#### 第 1 步:克隆仓库
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git ~/openclaw-backup
|
# 从快照恢复
|
||||||
|
cp ~/openclaw-backup/vector_memory/snapshots/<日期>/main.sqlite \
|
||||||
|
~/.openclaw/memory/main.sqlite
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 第 2 步:恢复 OpenClaw 配置
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 恢复配置文件
|
|
||||||
cp -r ~/openclaw-backup/openclaw/* ~/.openclaw/
|
|
||||||
|
|
||||||
# 恢复工作区
|
|
||||||
cp -r ~/openclaw-backup/workspace/* ~/.openclaw/workspace/
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第 3 步:恢复向量记忆
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 恢复数据
|
|
||||||
cp -r ~/openclaw-backup/vector_memory/data/* ~/openclaw-memory-vector/data/
|
|
||||||
|
|
||||||
# 恢复备份
|
|
||||||
cp -r ~/openclaw-backup/vector_memory/backups ~/openclaw-memory-vector/
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第 4 步:安装依赖
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 安装 Python 依赖
|
|
||||||
pip3 install chromadb openai sqlalchemy
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3.3 部分恢复
|
|
||||||
|
|
||||||
如果只需要恢复特定配置:
|
|
||||||
|
|
||||||
| 恢复目标 | 命令 |
|
|
||||||
|----------|------|
|
|
||||||
| 仅配置 | `cp -r openclaw/openclaw.json ~/.openclaw/` |
|
|
||||||
| 仅技能 | `cp -r openclaw/skills ~/.openclaw/` |
|
|
||||||
| 仅插件 | `cp -r openclaw/extensions ~/.openclaw/` |
|
|
||||||
| 仅工作区 | `cp -r workspace/* ~/.openclaw/workspace/` |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 四、备份内容详解
|
## 四、相关文档
|
||||||
|
|
||||||
### 4.1 目录结构
|
- [向量记忆系统架构](./vector_memory/backup_main_sqlite.sh)
|
||||||
|
- [晨间简报 cron](./scripts/morning_brief_cron.md)
|
||||||
```
|
|
||||||
openclaw-home-pc/
|
|
||||||
├── .git/ # Git 仓库
|
|
||||||
├── .gitignore # 忽略配置
|
|
||||||
├── openclaw/ # OpenClaw 配置
|
|
||||||
│ ├── agents/ # Agent 配置
|
|
||||||
│ ├── extensions/ # 插件(飞书、企微)
|
|
||||||
│ ├── skills/ # 技能
|
|
||||||
│ ├── feishu/ # 飞书配置
|
|
||||||
│ ├── wecomConfig/ # 企微配置
|
|
||||||
│ ├── cron/ # 定时任务
|
|
||||||
│ └── openclaw.json # 主配置
|
|
||||||
├── workspace/ # 工作区
|
|
||||||
│ ├── MEMORY.md # 长期记忆
|
|
||||||
│ ├── skills/ # 技能
|
|
||||||
│ ├── knowledge/ # 知识库
|
|
||||||
│ └── scripts/ # 脚本
|
|
||||||
└── vector_memory/ # 向量记忆
|
|
||||||
├── data/ # 数据
|
|
||||||
├── backups/ # 备份
|
|
||||||
└── *.py # 脚本
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4.2 忽略的文件
|
|
||||||
|
|
||||||
以下文件不备份(太大或隐私):
|
|
||||||
|
|
||||||
- 日志文件:`logs/`
|
|
||||||
- 媒体文件:`media/`
|
|
||||||
- 浏览器缓存:`browser/`
|
|
||||||
- 临时文件:`tmp/`
|
|
||||||
- 敏感 Token(配置文件中的密钥)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 五、当前状态
|
*本文档由欢欢助理自动维护*
|
||||||
|
|
||||||
### 5.1 备份状态
|
|
||||||
|
|
||||||
| 项目 | 状态 |
|
|
||||||
|------|------|
|
|
||||||
| Gitea 仓库 | ✅ 已创建 |
|
|
||||||
| 首次备份 | ✅ 569 个文件 |
|
|
||||||
| 自动备份 | ✅ 每天 4:00 |
|
|
||||||
| 向量记忆备份 | ✅ 每天 3:00 |
|
|
||||||
|
|
||||||
### 5.2 相关链接
|
|
||||||
|
|
||||||
| 资源 | 链接 |
|
|
||||||
|------|------|
|
|
||||||
| Gitea 仓库 | https://gitea.94kan.cn/houhuan/openclaw-home-pc |
|
|
||||||
| 向量记忆文档 | 见「向量记忆系统」文件夹 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 六、常见问题
|
|
||||||
|
|
||||||
### Q1: 备份失败怎么办?
|
|
||||||
|
|
||||||
**答**:检查网络连接,确认 Gitea 可访问。手动运行备份命令查看错误信息。
|
|
||||||
|
|
||||||
### Q2: 如何查看备份历史?
|
|
||||||
|
|
||||||
**答**:在 Gitea 仓库中查看提交记录即可。
|
|
||||||
|
|
||||||
### Q3: 向量记忆如何恢复?
|
|
||||||
|
|
||||||
**答**:从 `vector_memory/backups/` 中找到备份文件,使用 `python3 memory_backup.py restore` 命令恢复。
|
|
||||||
|
|
||||||
### Q4: 需要多少存储空间?
|
|
||||||
|
|
||||||
**答**:当前约 100MB,建议预留 500MB 空间。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 七、相关文档
|
|
||||||
|
|
||||||
- 向量记忆系统 - 部署与备份实战
|
|
||||||
- OpenClaw 向量记忆系统 - 详细实施指南
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*本文档由欢欢助理自动生成 | 2026-03-21*
|
|
||||||
|
|||||||
Reference in New Issue
Block a user