使用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点执行一次
相关推荐
M1A122 分钟前
Java 面试系列第一弹:基础问题大盘点
java·后端·mysql
He.ZaoCha23 分钟前
函数-1-字符串函数
数据库·sql·mysql
jjkkzzzz30 分钟前
Linux下的C/C++开发之操作Zookeeper
linux·zookeeper·c/c++
二当家的素材网31 分钟前
Centos和麒麟系统如何每天晚上2点10分定时备份达梦数据库
linux·数据库·centos
挑战者66688831 分钟前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
DD_陈东东1 小时前
gdbus 常用数据结构与库函数
linux
叁沐1 小时前
MySQL 09 普通索引和唯一索引,应该怎么选择?
mysql
DIY机器人工房2 小时前
代码详细注释:ARM-Linux字符设备驱动开发案例:LCD汉字输出改进建议开发板断电重启还能显示汉字,显示汉字位置自定义
linux·嵌入式·文件io·diy机器人工房
得物技术2 小时前
eBPF 助力 NAS 分钟级别 Pod 实例溯源|得物技术
linux
Rudon滨海渔村2 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu