使用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点执行一次
相关推荐
_OP_CHEN5 分钟前
Linux系统编程:(六)深入理解 Linux 软件包管理器——从原理到 yum 实战全攻略
linux·运维·服务器·yum·软件包管理器·linux生态
人工智能训练12 分钟前
Ubuntu系统中Docker的常用命令总结
linux·运维·人工智能·ubuntu·docker·ai
KYGALYX8 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
余—笙9 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509289 小时前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器
IDOlaoluo9 小时前
OceanBase all-in-one 4.2.0.0 安装教程(CentOS 7/EL7 一键部署详细步骤)
linux·centos·oceanbase
catoop10 小时前
在 WSL 的 Ubuntu 中安装和配置 SSH 服务
linux·ubuntu·ssh
Hard but lovely10 小时前
linux: centos 软件包管理 yum源
linux·运维·centos
悲伤小伞10 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
熙客11 小时前
Kubernetes是如何保证有状态应用数据安全和快速恢复的
mysql·云原生·容器·kubernetes