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,61 @@
# Docker 备份工具 - 项目概述
## 1. 项目简介
Docker 备份工具是一个功能强大、易于使用的 Docker 数据备份解决方案,专为 Linux 系统(支持 systemd设计。该工具提供全面的备份和管理功能帮助用户轻松备份 Docker 容器中的文件夹和数据库。
## 2. 主要功能
- 文件夹备份
- 打包指定文件夹为压缩文件
- 支持排除特定目录和文件模式
- MySQL 数据库备份
- 备份 Docker 容器中的 MySQL 数据库
- 支持备份指定或全部数据库
- 备份文件管理
- 合并文件夹和数据库备份
- 自动清理旧备份文件
- 按天数或数量保留备份
## 3. 技术栈
- **编程语言**: Bash Shell
- **核心工具**:
- tar: 文件打包
- gzip: 文件压缩
- docker: 容器交互
- yq: YAML 配置解析
- **系统集成**: systemd (定时任务和服务管理)
## 4. 项目结构
```
docker-backup/
├── bin/
│ ├── backup.sh # 主备份脚本
│ └── cleanup.sh # 备份清理脚本
├── config/ # 配置文件目录
├── systemd/ # systemd 服务模板
├── install.sh # 安装脚本
└── README.md # 项目文档
```
## 5. 使用场景
- 需要定期备份 Docker 容器数据的开发者和系统管理员
- 个人服务器和小型企业基础设施
- 需要自动化备份和管理备份文件的场景
- 对 MySQL 数据库和文件系统数据有备份需求的项目
## 6. 关键特性
- 一键安装和配置
- 灵活的备份策略
- 完善的日志记录
- 自动清理备份文件
- 支持自定义备份计划
- 安全性考虑(如权限控制)
## 7. 许可证
MIT License - 开源且自由使用