Files
docker-backup/llmdoc/architecture/installation-architecture.md
Wang Defa 4d00283654 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
2025-12-25 15:02:07 +08:00

45 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker Backup 安装架构
## 1. 身份与目的
- **目标**:自动化 Docker 容器和卷的备份部署
- **关键功能**:依赖检测、文件部署、服务配置、定时任务管理
## 2. 核心组件
- `install.sh`(主安装脚本):整个安装流程的协调者,支持远程下载和部署
- 动态生成的 systemd 服务文件(不再使用模板)
## 3. 执行流程图LLM检索映射
### 3.1 环境准备阶段
- **权限验证**`check_root()`,确保以 root 权限运行
- **操作系统检测**`detect_os()`,确定系统类型和版本
### 3.2 依赖安装阶段
- **工具检测**`install_yq()`,安装 YAML 解析工具
- **依赖检查**`install_dependencies()`
- 检测并安装tar, gzip, docker, find
- 根据操作系统使用不同的包管理器 (apt/yum/dnf)
### 3.3 文件部署阶段
- **远程下载**`deploy_files()`
- 从 Gitea 仓库下载 `backup.sh``cleanup.sh`
- 安装到 `/usr/local/bin/docker-backup``/usr/local/bin/docker-backup-cleanup`
- 设置可执行权限
- 下载配置文件模板到 `/etc/docker-backup/config.yml`
### 3.4 服务配置阶段
- **Systemd 服务生成**`setup_systemd()`
- 动态生成 `.service` 文件到 `/etc/systemd/system/`
- 动态生成 `.timer` 文件,定义执行计划
- **服务启用**`enable_service()`
- 重新加载 systemd 守护进程
- 启用并启动 systemd timer
## 4. 设计原则
- **模块化**:每个函数职责单一,便于维护
- **跨平台兼容**:支持主流 Linux 发行版
- **安全性**:要求 root 权限,预防权限问题
- **灵活性**:支持自定义安装目录、服务名称和执行计划