GoBackup
是一个针对中小型服务器而设计的备份工具,内置计划任务,定时备份数据库、配置文件,通过导出、备份压缩,最终存储到外部云存储(如:FTP、SCP、S3、GCS、Aliyun OSS ...)。
特征
- 无依赖关系。
- 多数据库源支持。
- 多种存储类型支持。
- 将路径或文件存档到 tar 中。
- 将大型备份文件拆分为多个部分。
- 作为守护进程运行以按计划进行备份。
- 用于管理备份的 Web UI 和 HTTP API。
开始部署
- #到官方下载二进制文件然后将
gobackup
上传到/usr/local/bin
目录并添加权限777,我使用的版本为v2.14.0
chmod -R 777 /usr/local/bin/gobackup
- #在root目录创建
.gobackup
和配置文件gobackup.yml
mkdir -p .gobackup
touch ~/.gobackup/gobackup.yml
- #编辑
gobackup.yml
内容
models:
# 备份任务名称(可自定义)
my_app:
# 压缩设置
compress_with:
# 使用 tar.gz 格式压缩备份文件
type: tgz
# 存储位置
storages:
# 存储方式名称(可自定义)
local:
# 本地存储
type: local
# 保留最近 10 个备份文件
keep: 10
# 备份文件存放路径
path: /root/gobackup_db/backups
# 数据库配置
databases:
mysql:
# 数据库名
database: da_process_db_pro
# 数据库类型
type: mysql
# MySQL地址
host: localhost
# MySQL端口
port: 3306
# MySQL用户名
username: root
# MySQL密码
password: "111111"
# MySQL 套接字文件路径
socket: /root/mysql8/mysql.sock
- #启动gobackup,地址访问WEBUI http://服务器IP:2703/
gobackup start
- #执行备份测试
gobackup perform
执行后可以看到存放路径已经有压缩包了
- #终止gobackup
pkill -f gobackup || true
- #添加定时执行备份
corntab -e
0 0 * * *表示每天凌晨 0:00 运行
0 0 * * * gobackup perform >> /root/.gobackup/gobackup.log 2>&1
问题解决方案
#如果提示mysqldump错误,那先找一下有没有
ls -l /root/mysql8/bin/mysqldump
,这个是我mysql安装的位置
#创建软连接
ln -s /root/mysql8/bin/mysqldump /usr/bin/mysqldump
评论区