抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

上一篇杜老师分享了 MySQL 备份脚本,在留言中,有小伙伴推荐了 GoBackup 数据库备份工具。简单了解之后发现这款工具确实不错,简单易用,一次部署后能持续运行数年无需任何维护,存储成本低且安全可靠。

工具特性

  • 没有依赖关系。

  • 多数据库支持。

  • 支持多种存储类型。

  • 将路径或文件归档到压缩包。

  • 将大型备份文件拆分为多个部分。

  • 作为守护程序运行以按计划进行备份。

  • 用于管理备份的 Web UI。

支持类型

支持的数据库类型如下:

编号 名称
1 MySQL
2 PostgreSQL
3 Redis
4 MongoDB
5 SQLite
6 Microsoft SQL Server
7 InfluxDB
8 MariaDB

存储类型

支持存储类型如下:

编号 名称
1 本地
2 FTP
3 SFTP
4 SCP - Upload via SSH copy
5 Amazon S3
6 Aliyun OSS
7 Google Cloud Storage
8 Azure Blob Storage
9 Backblaze B2 Cloud Storage
10 Cloudflare R2
11 DigitalOcean Spaces
12 QCloud COS
13 UCloud US3
14 Qiniu Kodo
15 Baidu BOS
16 MinIO
17 Huawei OBS
18 Volcengine TOS
19 UpYun
20 WebDAV

通知途径

备份通知类型如下:

编号 名称
1 Mail (SMTP)
2 Webhook
3 Discord
4 Slack
5 Feishu
6 DingTalk
7 GitHub (Comment on Issue)
8 Telegram
9 AWS SES
10 Postmark
11 SendGrid

安装配置

执行下面安装命令,即可使用 gobackup 进行数据库备份:

1
curl -sSL https://gobackup.github.io/install | sh

创建并编辑配置文件/etc/gobackup/gobackup.yml,模板内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
models:
gitlab_app:
databases:
gitlab_db:
type: postgresql
database: gitlab_production
username: gitlab
password:
gitlab_redis:
type: redis
mode: sync
rdb_path: /var/db/redis/dump.rdb
invoke_save: true
storages:
s3:
type: s3
bucket: my_app_backup
region: us-east-1
path: backups
access_key_id: $S3_ACCESS_KEY_Id
secret_access_key: $S3_SECRET_ACCESS_KEY
compress_with:
type: tgz

使用方法

如需备份,使用下面命令即可:

1
gobackup perform

如需命令完整路径,可调用/usr/local/bin/gobackup。分享一个实例配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
models:
my_backup:
before_script: |
echo "Before script"
after_script: |
echo "After script"
schedule:
# At 04:05 on Sunday.
cron: "5 4 * * sun"
storages:
local:
type: local
path: /path/to/backups
databases:
mysql:
type: mysql
host: localhost
port: 3306
database: my_database
username: root
password: password
other_backup:
# At 04:05 on every day.
schedule:
every: "1day",
at: "04:05"
storages:
local:
type: local
path: /path/to/backups
databases:
mysql:
type: mysql
host: localhost
port: 3306
database: my_database
username: root
password: password

该工具支持 Web UI,如需启动可执行下面的命令:

1
gobackup start

访问 http://IP:2703 就行了:

评论