feat: 实现 Docker 备份系统,支持远程一键安装

实现功能:
- 文件夹和 MySQL 容器数据库备份
- tar.gz 压缩和自动清理旧备份
- systemd 定时任务集成
- 远程一键安装脚本(通过 Gitea 仓库)
- 完整的 llmdoc 文档系统

安装方式:
bash <(curl -sL https://gitea.bcde.io/wangdefa/docker-backup/raw/branch/main/install.sh)

配置文件位置:/etc/docker-backup/config.yml
命令:docker-backup, docker-backup-cleanup
This commit is contained in:
Wang Defa
2025-12-25 15:02:07 +08:00
commit 4d00283654
19 changed files with 2553 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
# 配置系统架构
## 1. 身份识别
- **定义**:一个灵活、层次清晰的 YAML 配置系统,支持细粒度的备份策略定制
- **目的**:通过声明式配置,控制 Docker 备份的各个方面
## 2. 核心组件
- `/etc/docker-backup/config.yml`: 系统配置文件(安装时从 `config/backup.yml.example` 创建)
- `bin/backup.sh`: 读取并解析配置的主脚本
- `yq`: 用于 YAML 配置解析的关键工具
## 3. 执行流程LLM 检索图)
1. **配置加载**
- 读取 `/etc/docker-backup/config.yml`
- 使用 `yq` 解析配置项
2. **依赖性验证**
- 检查必要工具(`yq`, `tar`, `docker`
- 验证配置文件有效性
- 校验备份源和容器可用性
3. **配置解析**
- 提取备份基础配置 (`backup`)
- 处理文件夹备份设置 (`folders`)
- 解析 MySQL 备份参数 (`mysql`)
- 配置日志和通知 (`logging`, `notification`)
## 4. 设计原理
- **灵活性**:通过 YAML 配置提供高度可定制的备份策略
- **最小侵入**:仅依赖常见的 Unix 工具链
- **安全性**:配置项有严格的验证机制