📦 添加文档和更新监控脚本 - 2026-03-23
This commit is contained in:
parent
06ba61fd2f
commit
7e143d3ebc
300
workspace/README.md
Normal file
300
workspace/README.md
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
> 作者:欢欢助理
|
||||||
|
> 日期:2026-03-21
|
||||||
|
> 版本:v1.0
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、方案概述
|
||||||
|
|
||||||
|
### 1.1 背景
|
||||||
|
|
||||||
|
为了防止机器崩溃导致 OpenClaw 配置丢失,我们需要建立完整的备份机制。
|
||||||
|
|
||||||
|
### 1.2 备份目标
|
||||||
|
|
||||||
|
| 备份项 | 说明 | 大小 |
|
||||||
|
|--------|------|------|
|
||||||
|
| OpenClaw 配置 | agents、extensions、skills、feishu、wecomConfig、cron | ~100MB |
|
||||||
|
| 工作区 | workspace 目录 | ~1MB |
|
||||||
|
| 向量记忆 | vector_memory 数据 | ~1MB |
|
||||||
|
|
||||||
|
### 1.3 备份策略
|
||||||
|
|
||||||
|
| 备份位置 | 频率 | 方式 |
|
||||||
|
|----------|------|------|
|
||||||
|
| 本地 | 每天 3:00 | 自动备份到 `~/openclaw-backup/` |
|
||||||
|
| Gitea | 每天 4:00 | 推送到远程仓库 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、详细部署步骤
|
||||||
|
|
||||||
|
### 2.1 环境准备
|
||||||
|
|
||||||
|
#### 第 1 步:安装依赖
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 更新系统
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
# 安装 Python 和 pip
|
||||||
|
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 一键恢复(推荐 ✅)
|
||||||
|
|
||||||
|
全新安装 OpenClaw 后,只需一行命令即可恢复全部配置:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 克隆仓库
|
||||||
|
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git ~/openclaw-backup
|
||||||
|
|
||||||
|
# 一键恢复
|
||||||
|
cd ~/openclaw-backup
|
||||||
|
./restore.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**恢复脚本会自动:**
|
||||||
|
- 备份现有配置(如有)
|
||||||
|
- 恢复 OpenClaw 配置 → `~/.openclaw/`
|
||||||
|
- 恢复工作区 → `~/.openclaw/workspace/`
|
||||||
|
- 恢复向量记忆 → `~/openclaw-memory-vector/`
|
||||||
|
|
||||||
|
**恢复后重启服务:**
|
||||||
|
```bash
|
||||||
|
openclaw gateway restart
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3.2 手动恢复(备用)
|
||||||
|
|
||||||
|
如果不想用脚本,也可以手动复制:
|
||||||
|
|
||||||
|
#### 第 1 步:克隆仓库
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.94kan.cn/houhuan/openclaw-home-pc.git ~/openclaw-backup
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 第 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 目录结构
|
||||||
|
|
||||||
|
```
|
||||||
|
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*
|
||||||
249
workspace/docs/openclaw-backup-guide.md
Normal file
249
workspace/docs/openclaw-backup-guide.md
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
# 🔄 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
|
||||||
|
**任务状态**: ✅ 正常运行
|
||||||
92
workspace/openclaw-backup/restore.sh
Executable file
92
workspace/openclaw-backup/restore.sh
Executable file
@ -0,0 +1,92 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# OpenClaw 一键恢复脚本
|
||||||
|
# 用法: ./restore.sh
|
||||||
|
# 或指定备份目录: ./restore.sh /path/to/backup
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# 颜色定义
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
# 获取脚本所在目录
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
BACKUP_DIR="${1:-$SCRIPT_DIR}"
|
||||||
|
|
||||||
|
echo -e "${YELLOW}========================================${NC}"
|
||||||
|
echo -e "${YELLOW} OpenClaw 一键恢复脚本${NC}"
|
||||||
|
echo -e "${YELLOW}========================================${NC}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 检查是否为 backup 目录
|
||||||
|
if [[ ! -d "$BACKUP_DIR/openclaw" ]]; then
|
||||||
|
echo -e "${RED}错误: 不是有效的备份目录${NC}"
|
||||||
|
echo "请确保目录包含 openclaw/ workspace/ 等文件夹"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${GREEN}[1/4] 检查备份文件...${NC}"
|
||||||
|
if [[ -d "$BACKUP_DIR/openclaw" ]]; then
|
||||||
|
echo " ✅ OpenClaw 配置: 存在"
|
||||||
|
else
|
||||||
|
echo " ❌ OpenClaw 配置: 不存在"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$BACKUP_DIR/workspace" ]]; then
|
||||||
|
echo " ✅ 工作区文件: 存在"
|
||||||
|
else
|
||||||
|
echo " ❌ 工作区文件: 不存在"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$BACKUP_DIR/vector_memory" ]]; then
|
||||||
|
echo " ✅ 向量记忆: 存在"
|
||||||
|
else
|
||||||
|
echo " ⚠️ 向量记忆: 不存在 (可选)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}[2/4] 恢复 OpenClaw 配置...${NC}"
|
||||||
|
if [[ -d "$HOME/.openclaw" ]]; then
|
||||||
|
echo " ⚠️ 检测到现有 OpenClaw 配置,是否覆盖? (y/n)"
|
||||||
|
read -r confirm
|
||||||
|
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
|
||||||
|
echo "已取消恢复"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 创建必要目录
|
||||||
|
mkdir -p "$HOME/.openclaw"
|
||||||
|
|
||||||
|
# 复制文件
|
||||||
|
cp -r "$BACKUP_DIR/openclaw/"* "$HOME/.openclaw/" 2>/dev/null || true
|
||||||
|
echo " ✅ OpenClaw 配置已恢复"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}[3/4] 恢复工作区...${NC}"
|
||||||
|
mkdir -p "$HOME/.openclaw/workspace"
|
||||||
|
cp -r "$BACKUP_DIR/workspace/"* "$HOME/.openclaw/workspace/" 2>/dev/null || true
|
||||||
|
echo " ✅ 工作区已恢复"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}[4/4] 恢复向量记忆 (可选)...${NC}"
|
||||||
|
if [[ -d "$BACKUP_DIR/vector_memory" ]]; then
|
||||||
|
mkdir -p "$HOME/openclaw-memory-vector"
|
||||||
|
cp -r "$BACKUP_DIR/vector_memory/"* "$HOME/openclaw-memory-vector/" 2>/dev/null || true
|
||||||
|
echo " ✅ 向量记忆已恢复"
|
||||||
|
else
|
||||||
|
echo " ⏭️ 跳过向量记忆恢复"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}========================================${NC}"
|
||||||
|
echo -e "${GREEN} 恢复完成! ✅${NC}"
|
||||||
|
echo -e "${GREEN}========================================${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "下一步操作:"
|
||||||
|
echo " 1. 重启 OpenClaw 服务: openclaw gateway restart"
|
||||||
|
echo " 2. 检查配置: openclaw status"
|
||||||
|
echo ""
|
||||||
@ -45,30 +45,6 @@ WATCHLIST = [
|
|||||||
"volume_surge": 2.0 # 成交量异动
|
"volume_surge": 2.0 # 成交量异动
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"code": "688313",
|
|
||||||
"name": "仕佳光子",
|
|
||||||
"market": "sh",
|
|
||||||
"type": "individual",
|
|
||||||
"cost": 15.00, # 参考成本价(待确认)
|
|
||||||
"alerts": {
|
|
||||||
"change_pct_above": 5.0, # 日内涨超 5% 预警
|
|
||||||
"change_pct_below": -5.0, # 日内跌超 5% 预警
|
|
||||||
"volume_surge": 2.0 # 成交量异动
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"code": "600096",
|
|
||||||
"name": "云天化",
|
|
||||||
"market": "sh",
|
|
||||||
"type": "individual",
|
|
||||||
"cost": 42.00, # 老大确认的实际成本价
|
|
||||||
"alerts": {
|
|
||||||
"change_pct_above": 5.0, # 日内涨超 5% 预警
|
|
||||||
"change_pct_below": -5.0, # 日内跌超 5% 预警
|
|
||||||
"volume_surge": 2.0 # 成交量异动
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"code": "002195",
|
"code": "002195",
|
||||||
"name": "岩山科技",
|
"name": "岩山科技",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user