# 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 权限,预防权限问题 - **灵活性**:支持自定义安装目录、服务名称和执行计划