Backup-Go:Go 语言打造的灵活备份系统,数据库与文件备份一网打尽

https://linux.do/t/topic/537379
意外富翁 · 10个月前 · 技术 · 44 · 0

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

Github: https://github.com/zzzgr/backup-go

Alt

核心功能

Backup-Go 提供了以下核心功能:

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

Alt

快速上手

使用 Backup-Go 非常简单,只需几个步骤:

  1. 克隆仓库:从 GitHub 克隆 Backup-Go 仓库。
  2. 配置:创建或编辑 config.yaml 文件,配置数据库连接信息和存储方式。
  3. 构建和运行:下载依赖,构建并运行 Backup-Go。
  4. 访问 Web 界面:在浏览器中访问 http://localhost:8080,开始使用。

Alt

Alt

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 都是一个值得考虑的选择。

已复制到剪贴板

评论 0 条

暂无评论,来种下第一颗种子。