一个使用Go语言开发的灵活备份系统,支持数据库备份和文件备份,并提供Web界面进行管理。
A flexible backup system developed with Go language, supporting database and file backups with a web-based management interface.
git clone https://github.com/yourusername/backup-go.git
cd backup-go
创建或编辑config.yaml文件:
# 服务器配置
server:
port: 8080
# 数据库配置
database:
type: sqlite # mysql或sqlite
# 如果需要使用MySQL,请配置以下内容
# host: 127.0.0.1
# username: root
# password: your-password
# port: 3306
# name: backup_go
注意: 如果您需要使用S3协议存储,可以在Web界面中进行配置。
# 下载依赖
go mod tidy
# 构建
go build -o backup-go
# 运行
./backup-go
在浏览器中访问 http://localhost:8080
我们提供了预构建的多架构 Docker 镜像,支持 amd64、arm64 等平台:
# 拉取最新版本
docker pull zzzgr/backup-go:1.0.0-amd64
# 运行容器
docker run -d --name backup-go -p 8080:8080 \
-v $(pwd):/app \
zzzgr/backup-go:1.0.0-amd64
/app/config.yaml: 配置文件backup-go/
├── api/ # API层,包含路由和控制器
│ ├── controller/ # 控制器
│ ├── middleware/ # 中间件
│ └── router/ # 路由配置
├── config/ # 配置相关
├── entity/ # 数据实体模型
├── model/ # 数据访问层
├── public/ # 静态资源
├── repository/ # 数据仓库
├── service/ # 业务逻辑层
│ ├── backup/ # 备份服务实现
│ ├── cleanup/ # 清理服务
│ ├── config/ # 配置服务
│ ├── scheduler/ # 调度服务
│ └── storage/ # 存储服务实现
├── test/ # 测试代码
├── config.yaml # 配置文件
└── main.go # 程序入口
在任务列表中点击对应任务的"执行"按钮即可手动触发备份任务。
在导航栏切换到"备份记录"页面,可以查看所有备份记录,对于成功的备份可以点击"下载"按钮下载备份文件。
本系统采用模块化设计,易于扩展:
我们欢迎各种形式的贡献,包括但不限于:
贡献前请查看我们的贡献指南。
本项目采用 MIT 许可证 进行许可。
Content type
Image
Digest
sha256:cf1659b80…
Size
27.8 MB
Last updated
over 1 year ago
docker pull zzzgr/backup-go:1.0.0-arm64v8