💾 核心记忆:新增AstrBot数据备份方案(tar打包/volume映射双方案)
This commit is contained in:
47
我的核心记忆.md
47
我的核心记忆.md
@@ -224,3 +224,50 @@
|
||||
- **插件修复**:`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 |
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user