使用MinIO Client客户端实现MySQL数据库跨机备份

安装Minio客户端

下载Linux版客户端文件

复制代码
wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc

添加目标对象

复制代码
# 给Minio服务【用户名:yourusername,密码:youruserpassword】设置一个别名minio
/home/minio/client/mc alias set minio_c_x http://22.22.22.220:9000 yourusername youruserpassword

#mc mb 命令会在22.22.22.220上创建一个名为bk-resources的桶
mc mb minio/bk-resources

MySQL本地和跨机备份(db_bk.sh)

复制代码
#!/bin/bash
DUMP_TIME=`date +'%Y%m%d_%H%M%S'`

# MySQL本机备份
mysqldump --single-transaction -uroot -pxxx -h22.22.22.220 -P3306 database_xxx > /home/backup/mysql/$DUMP_TIME.db

# MySQL跨机备份
mc cp /home/backup/mysql/$DUMP_TIME.db minio/bk-resources

MySQL备份定时清理(db_bk_clean.sh)

复制代码
#!/bin/bash
# 定时清理5天前的本地数据库备份
find /home/backup/mysql -mtime +5 -name "*.db" -exec rm -rf {} \;

# 定时清理5天前的跨机数据库备份
mc rm --recursive --force --older-than=5d minio/bk-resources

设置周期性执行脚本的任务(crontab -e)

复制代码
0 1 * * * sh /home/backup/db_bk.sh #备份MySQL:每天凌晨1点执行一次
0 1 * * * sh /home/backup/db_bk_clean.sh #删除MySQL备份:每天凌晨1点执行一次
相关推荐
淮北4948 分钟前
计算机网络学习(六、应用层)
linux·学习·计算机网络
lew-yu34 分钟前
【已解决】Linux中程序脚本可以手动执行成功,但加在rc.local中不能开机自启
linux·服务器
ajassi200036 分钟前
linux C 语言开发 (四) linux系统常用命令
linux·运维·服务器
小嵌同学39 分钟前
Linux:malloc背后的实现细节
大数据·linux·数据库
努力的小郑43 分钟前
MySQL索引(三):字符串索引优化之前缀索引
后端·mysql·性能优化
R瑾安1 小时前
mysql安装(压缩包方式8.0及以上)
数据库·mysql
EveryPossible1 小时前
如何终止画图
linux·编辑器·vim
代码的余温1 小时前
MySQL Cluster核心优缺点
数据库·mysql
wangjialelele2 小时前
Linux匿名管道和命名管道以及共享内存
linux·运维·网络
禁默3 小时前
Linux 之从硬件硬盘到文件系统的全面过渡
linux·运维·服务器