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

1.7 KiB
Raw Blame History

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