Dify 备份清单(作业15 · 规范版)
与脚本 hw15_01_备份清单.py 输出一致;在目标环境运行脚本可得到带目录大小的当日清单。
生成物路径:data/homework15/dify_backup_checklist_YYYYMMDD.md
1. 必備三件套(必背)
| 优先级 | 类型 | 路径 / 对象 | 说明 |
|---|
| P0 | 关系库 | volumes/db/data(PostgreSQL)或 volumes/mysql/data | 应用、用户、数据集、索引状态 |
| P0 | 对象存储 | volumes/app/storage 或 S3/OSS 桶(STORAGE_TYPE) | 上传文件、知识库原文 |
| P0 | 向量库 | volumes/weaviate(现网 207) | embedding;丢失需全量 re-index |
三者时间点尽量一致;只恢复其中一项会导致「有记录无文件」或「检索为空」。
2. 强烈建议备份
| 类型 | 路径 | 说明 |
|---|
| 插件 | PG 库 dify_plugin + volumes/plugin_daemon | 插件市场安装的包 |
| 配置 | .env、envs/、nginx/ | 版本、端口、向量/DB 类型 |
| TLS | volumes/certbot | HTTPS 证书 |
3. 可选 / 可重建
| 类型 | 路径 | 说明 |
|---|
| Redis | volumes/redis/data | Celery 队列与缓存;宕机后队列可重新产生 |
| Sandbox | volumes/sandbox | 沙箱依赖,可重装 |
4. 向量库分支(按 VECTOR_STORE)
| VECTOR_STORE | 备份路径 |
|---|
| weaviate(207 现网) | volumes/weaviate |
| milvus | volumes/milvus/etcd、minio、milvus 三目录 |
| pgvector | volumes/pgvector/data |
5. Celery 队列(Worker 相关,Redis broker)
| 队列 | Worker 停掉时的现象 |
|---|
dataset | 知识库文档一直「索引中」 |
ops_trace | Langfuse 等追踪延迟或缺失 |
mail | 邮件通知不发 |
app_deletion | 删除应用/数据集卡住 |
workflow | 部分异步工作流不推进 |
队列数据在 Redis;备份 Redis 不能替代 worker 恢复,但恢复 worker 后可继续消费未过期任务。
6. 推荐备份顺序
- 记录镜像 tag 与
.env - 低峰
pg_dump(含 dify + dify_plugin) rsync / tar volumes/app/storage(或对象存储清单) - 向量卷快照(weaviate / milvus / pgvector)
volumes/plugin_daemon - (可选)Redis
- 恢复演练:spot-check 检索 + 对话 + 插件
7. 生成最新清单
bash
python scripts_cursor/作业15_Dify隔离与备份/hw15_01_备份清单.py
python scripts_cursor/作业15_Dify隔离与备份/hw15_01_备份清单.py --dify-root /opt/dify-hw15
8. 相关 Runbook
- Worker 宕机:
作业15_值班Runbook_Worker宕机_cursor.md - 完整实验:
作业15_Dify隔离部署与Worker故障Runbook_cursor.md