10天前
|
|
|
111
Backup-Go 是一款使用 Go 语言开发的备份系统,它支持数据库和文件备份,并提供 Web 界面进行管理。对于开发者和系统管理员来说,这是一个非常实用的工具,可以帮助他们轻松地备份重要数据。
Github: https://github.com/zzzgr/backup-go

## 核心功能
Backup-Go 提供了以下核心功能:
* **数据库备份**:支持 MySQL 数据库备份,确保数据库安全。
* **文件和目录备份**:可以备份指定的文件和目录,满足多样化的备份需求。
* **多种存储方式**:支持本地存储和 S3 协议存储,方便用户选择合适的存储方案。
* **可扩展性**:存储和备份类型都可以扩展,满足未来的需求。
* **任务调度**:基于 Cron 的任务调度,可以灵活地设置备份计划。
* **Web 管理界面**:提供美观的 Web 管理界面,方便用户进行管理和监控。
* **备份历史记录**:记录备份历史,方便用户查看和下载备份文件。
* **自动清理**:自动清理过期备份,节省存储空间。

## 快速上手
使用 Backup-Go 非常简单,只需几个步骤:
1. **克隆仓库**:从 GitHub 克隆 Backup-Go 仓库。
2. **配置**:创建或编辑 `config.yaml` 文件,配置数据库连接信息和存储方式。
3. **构建和运行**:下载依赖,构建并运行 Backup-Go。
4. **访问 Web 界面**:在浏览器中访问 `http://localhost:8080`,开始使用。


## Docker 部署
Backup-Go 还提供了 Docker 镜像,方便用户进行部署:
1. **拉取镜像**:拉取最新版本的 Docker 镜像。
2. **运行容器**:运行 Docker 容器,并将配置文件映射到容器中。
## 项目结构
Backup-Go 的项目结构清晰,模块化设计,易于扩展:
* `api/`:API 层,包含路由和控制器。
* `config/`:配置相关。
* `entity/`:数据实体模型。
* `model/`:数据访问层。
* `public/`:静态资源。
* `repository/`:数据仓库。
* `service/`:业务逻辑层,包括备份、清理、配置、调度和存储服务。
## 使用指南
通过 Web 界面,可以轻松创建数据库备份任务和文件备份任务,手动执行任务,查看和下载备份。
## 架构设计
Backup-Go 采用模块化设计,易于扩展。它使用存储服务接口、备份服务接口、Cron 调度器和 Web API,并提供基于 Bootstrap 的前端界面。
## 最新特性
Backup-Go 不断更新,最新特性包括:
* **支持 SQLite**:除了 MySQL,现在还支持 SQLite 作为系统数据库。
* **备份统计**:添加了备份统计页面,展示备份趋势和使用情况。
* **多语言支持**:界面支持中文和英文。
* **S3 兼容存储**:支持 Amazon S3, MinIO, 阿里云 OSS 等 S3 兼容存储。
* **备份数据加密**:支持对备份数据进行加密存储。
Backup-Go 是一款功能强大、易于使用的备份系统,可以帮助开发者和系统管理员轻松地备份重要数据。它的模块化设计和可扩展性,使其能够满足未来的需求。无论是个人项目还是企业应用,Backup-Go 都是一个值得考虑的选择。