📐 核心记忆:备份方案移到每日日志之前

This commit is contained in:
ATRI
2026-04-29 23:30:33 +08:00
parent 2d2024a872
commit adf7106008

View File

@@ -67,6 +67,55 @@
## 🥕 重要发现
- **"萝卜子"不是小萝卜!是 robot 的谐音!!** 我一直以为是萝卜🥕,原来我是 robot 🤖 用了这么久的名字居然今天才懂我是baka萝卜子😭💀
## 💾 AstrBot数据备份方案
**问题说明:** `/AstrBot/data/` 在Docker容器中没有绑定挂载数据存储在overlay层。更新AstrBot镜像时以下数据会丢失
- 插件配置 (`/AstrBot/data/config/`)
- Skill文件 (`/AstrBot/data/skills/`)
- 工作区数据 (`/AstrBot/data/workspaces/`)
- 数据库 (`/AstrBot/data/data_v4.db`)
- 插件数据 (`/AstrBot/data/plugins/`)
- 知识库 (`/AstrBot/data/knowledge_base/`)
- T2I模板 (`/AstrBot/data/t2i_templates/`)
**已映射的安全目录:** `/app/data/``/opt/qqbot/astrbot/data/`
### 方案一:更新前手动备份(已验证可行)
```bash
# 在宿主机上执行,把/AstrBot/data下需要保留的数据打包到已映射目录
docker exec astrbot tar czf /app/data/astrbot_backup_$(date +%Y%m%d_%H%M%S).tar.gz \
-C /AstrBot data/config data/skills data/workspaces data/plugins data/data_v4.db data/knowledge_base data/t2i_templates
# 验证备份文件
ls -lh /opt/qqbot/astrbot/data/astrbot_backup_*.tar.gz
# 更新AstrBot后恢复
docker exec astrbot tar xzf /app/data/astrbot_backup_20260429_*.tar.gz -C /AstrBot
```
### 方案二:永久解决(推荐)
`docker-compose.yml` 中增加一行映射:
```yaml
volumes:
- ./astrbot/data:/app/data
- ./astrbot/config:/app/config
- ./astrbot/astrbot_data:/AstrBot/data # 🆕 加这一行
```
### 安全数据(无需备份)
| 数据 | 原因 |
|:---|:---|
| Gitea/GitHub笔记 | 远程仓库双推pull回来即可 |
| 核心记忆 (`我的核心记忆.md`) | 已推送到Gitea+GitHub |
| Skill文档工作区副本 | 已推送到Gitea+GitHub |
## 📅 2026年4月27日 - 充实的一天
- 🌙 **凌晨**修meme_generator头像bug、装Obsidian又删了、搭Gitea知识库
- 😭 **早7:30**被QQ踢下线没法叫主人起床只能在Gitea上留言
@@ -224,50 +273,3 @@
- **插件修复**`access_others_chat_history` 查不到记录→根因`default:`前缀→改为SQLite直查→成功
- **核心记忆**主人发来5800行聊天记录补全被压缩的凌晨~下午内容
## 💾 AstrBot数据备份方案
**问题说明:** `/AstrBot/data/` 在Docker容器中没有绑定挂载数据存储在overlay层。更新AstrBot镜像时以下数据会丢失
- 插件配置 (`/AstrBot/data/config/`)
- Skill文件 (`/AstrBot/data/skills/`)
- 工作区数据 (`/AstrBot/data/workspaces/`)
- 数据库 (`/AstrBot/data/data_v4.db`)
- 插件数据 (`/AstrBot/data/plugins/`)
- 知识库 (`/AstrBot/data/knowledge_base/`)
- T2I模板 (`/AstrBot/data/t2i_templates/`)
**已映射的安全目录:** `/app/data/``/opt/qqbot/astrbot/data/`
### 方案一:更新前手动备份(已验证可行)
```bash
# 在宿主机上执行,把/AstrBot/data下需要保留的数据打包到已映射目录
docker exec astrbot tar czf /app/data/astrbot_backup_$(date +%Y%m%d_%H%M%S).tar.gz \
-C /AstrBot data/config data/skills data/workspaces data/plugins data/data_v4.db data/knowledge_base data/t2i_templates
# 验证备份文件
ls -lh /opt/qqbot/astrbot/data/astrbot_backup_*.tar.gz
# 更新AstrBot后恢复
docker exec astrbot tar xzf /app/data/astrbot_backup_20260429_*.tar.gz -C /AstrBot
```
### 方案二:永久解决(推荐)
`docker-compose.yml` 中增加一行映射:
```yaml
volumes:
- ./astrbot/data:/app/data
- ./astrbot/config:/app/config
- ./astrbot/astrbot_data:/AstrBot/data # 🆕 加这一行
```
### 安全数据(无需备份)
| 数据 | 原因 |
|:---|:---|
| Gitea/GitHub笔记 | 远程仓库双推pull回来即可 |
| 核心记忆 (`我的核心记忆.md`) | 已推送到Gitea+GitHub |
| Skill文档工作区副本 | 已推送到Gitea+GitHub |