# SqlDataBackup **Repository Path**: iamhejz_0/sql-data-backup ## Basic Information - **Project Name**: SqlDataBackup - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-20 - **Last Updated**: 2025-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据库备份系统 ## 简介 本系统支持通过 Excel 文件批量配置需要备份的数据库表,并支持通过配置文件指定备份的时间范围(仅支持开始和结束时间)。 --- ## 目录结构 详见下方“项目结构”章节。 --- ## Excel 配置说明 - Excel 文件路径通过 `backup.excel.path` 配置。 - Excel 文件需包含如下两列: | db_name | table_name | |---------|------------| | mydb | users | | mydb | orders | | logdb | logs_2024 | - 每行表示一个需要备份的表及其所属数据库。 --- ## 时间范围配置 - 仅支持通过配置文件指定开始和结束时间: ```properties backup.time-range.start-time=2024-07-01 00:00:00 backup.time-range.end-time=2024-07-31 23:59:59 backup.time-range.date-field=create_date backup.time-range.enabled=true ``` - 不再支持“近N天”备份。 --- ## 主要配置项 - `backup.excel.path`:Excel 文件路径 - `backup.time-range.start-time`、`backup.time-range.end-time`:备份时间范围 - 其它数据库、输出、定时、邮件等配置详见 `application.properties` --- ## 启动与部署 ### 1. 直接启动命令 ```bash java -Xms2g -Xmx2g -jar database-backup-system-1.0.0.jar --spring.config.location=application.properties ``` ### 2. 使用启动脚本 - Linux: `./start-custom.sh` - Windows: `start-custom.bat` ### 3. systemd 服务(Linux) - 见 `DEPLOYMENT.md` 或下方“部署说明”章节。 --- ## 项目结构 详见: ```text sqlDataBackup/ ├── src/main/java/com/backup/system/ │ ├── BackupApplication.java # 主应用类 │ ├── config/ │ │ └── BackupConfiguration.java # 配置类 │ ├── controller/ │ │ └── BackupController.java # 备份控制器 │ ├── service/ │ │ ├── BackupService.java # 备份服务 │ │ └── EmailNotificationService.java # 邮件服务 │ ├── scheduler/ │ │ └── BackupScheduler.java # 调度器 │ ├── exception/ │ │ └── GlobalExceptionHandler.java # 异常处理器 │ └── util/ │ ├── DatabaseUtils.java # 数据库工具 │ ├── FileUtils.java # 文件工具 │ └── TimeRangeUtils.java # 时间工具 ├── src/main/resources/ │ ├── application.properties # 配置文件 │ └── logs/ # 日志目录 ├── start.bat # Windows启动脚本 ├── start-custom.sh # Linux启动脚本 ├── README.md # 项目说明 ``` --- ## 路径与外部配置说明 - 支持通过 `--spring.config.location` 指定外部配置文件。 - 支持绝对路径、相对路径、用户目录等多种路径写法。 - 详见 `PATH_CONFIG.md`。 --- ## 压缩与优化说明 - 支持备份文件压缩(zip),通过 `backup.output.compress` 配置。 - 支持异步备份、自动清理旧备份、日志详细记录。 - 详见 `COMPRESSION_CONFIG.md`、`OPTIMIZATION.md`。 --- ## 部署说明 - 支持 jar 包直接运行、脚本启动、systemd 服务、Docker 部署等多种方式。 - 详见 `DEPLOYMENT.md`、`EXTERNAL_CONFIG.md`。 --- ## 其它 如需扩展分组、正则、批量等高级功能,请联系开发者。