GoBackup
是一个为中小型服务器而设计备份工具,内置计划任务,帮你定时备份数据库、配置文件,通过导出、打包压缩,最终存储到外部云存储(如S3等)
支持常见的数据库,仅列出我测试过的
mysql
postgresql
mariadb
支持常见的对象存储,仅列出我测试过的
local
minio
支持常见的备份通知类型,仅列出我测试过的
Telegram
Feishu
官方提供了一个默认安装脚本:
curl -sSL https://gobackup.github.io/install | sh
创建并编辑配置文件/etc/gobackup/gobackup.yml
或者/root/.gobackup/gobackup.yml
, 模版如下:
web:
host: 0.0.0.0
# port: 2703
username: ysicing
password: ysicing
models:
solitudes-dev:
description: "backup solitudes dev db"
schedule:
cron: "*0 */2 * * *"
databases:
solitudes:
type: postgresql
host: postgresql.default.svc
port: 5432
database: solitudes
username: solitudes
password: examplepassowrd
default_storage: minio
storages:
minio:
type: minio
bucket: gobackup
endpoint: http://minio.default.svc:9000
path: /blog/pg/dev
access_key_id: ysicing
secret_access_key: ysicing
local:
type: local
path: /data/backups/blog/dev
keep: 10
notifiers:
feishu:
type: feishu
url: https://open.feishu.cn/open-apis/bot/v2/hook/feishu-token
compress_with:
type: tgz
开始执行备份:
gobackup perform
后台守护进程:
gobackup start
目前已经稳定备份大概几个月了,不足的地方
local
支持清理策略,暂时只能通过minio的生命周期来管理维护