51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

GoBackup 数据库备份工具

上一篇杜老师分享了 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 就行了:

赞(3)
未经允许不得转载:工具盒子 » GoBackup 数据库备份工具