# 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 - 开源且自由使用