赞
踩
此项目基于两个脚本实现,pxb_auto_backup.sh 脚本基于 XtraBackup 实现了 MySQL 的自动化备份,可选择全备和增备。pxb_auto_recovery.sh 脚本实现了基于 pxb_auto_backup.sh 脚本的自动化恢复,并能够通过微信和企业微信对执行的状态进行通知。
pxb_auto_backup.sh 脚本基于 XtraBackup 实现了 MySQL 的自动化备份,可根据自身需求选择本地、远程、增备、全备的多种方式相结合的备份方式,并通过 pv 工具实现远程传输的流量控制。基于企业微信机器人实现了备份信息的通知。
本地全备
本地增备
远程全备
远程增备
传输限速
微信通知
备份定期清理
日志定期清理
并行备份
并行压缩
长查询 kill
仅在 centos 7 上进行了测试
仅适用 MySQL 5.7 及以下版本
需要安装 XtraBackup2.4
需要安装 pv
需要安装 mysql
在进行备份时,如果从库开启了多线程复制 slave_parallel_workers
参数,为了避免死锁等多线程导致的问题,导致备份失败,会在备份期间修改为单线程复制。
如果主从负载压力较大并且从库作为读写分离的实例,请谨慎使用此脚本,避免主从延迟影响线上环境。
增量备份是基于每周的一次全备进行的,例如周一有一个全备,增备都会基于周一的全备做增备,恢复时,只需要恢复全备和需要那天的增备即可。
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install qpress pv percona-xtrabackup-24.x86_64
# 安装格式转换工具 yum install -y dos2unix # 下载脚本 curl -o pxb_auto_backup.sh https://gitee.com/hh688/pxb_backup/raw/master/pxb_auto_backup.sh # 转化格式 dos2unix pxb_auto_backup.sh # 添加权限 chmod 700 pxb_auto_backup.sh # 修改参数定义 vim pxb_auto_backup.sh # 根据自身情况修改脚本内容 # 运行脚本 sh pxb_auto_backup.sh # 后台运行 nohup sh pxb_auto_backup.sh & # 后台运行适用于数据量大的情况 # 添加至定时任务可作为定时备份
pxb_auto_recovery.sh 脚本实现了基于 pxb_auto_backup.sh 脚本的自动化恢复,并能够通过微信和企业微信对执行的状态进行通知。
全备恢复
增备恢复
微信通知
备份定期清理
日志定期清理
并行恢复
并行解压
磁盘空间提示
仅在 centos 7 上进行了测试
仅适用MySQL 5.7 及以下版本
需要安装 XtraBackup2.4
增量备份是基于每周的一次全备进行的,例如周一有一个全备,增备都会基于周一的全备做增备,恢复时,只需要恢复全备和需要那天的增备即可。
使用前请保证服务器有充足的磁盘空间
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install qpress pv percona-xtrabackup-24.x86_64
# 安装格式转换工具 yum install -y dos2unix # 下载脚本 curl -o pxb_auto_backup.sh https://gitee.com/hh688/pxb_backup/raw/master/pxb_auto_recovery.sh # 转化格式 dos2unix pxb_auto_recovery.sh # 添加权限 chmod 700 pxb_auto_recovery.sh # 修改参数定义 vim pxb_auto_recovery.sh # 根据自身情况修改脚本内容 # 运行脚本 sh pxb_auto_recovery.sh # 后台运行 nohup sh pxb_auto_recovery.sh & # 后台运行适用于数据量大的情况
没有公司企业微信的高权限账号时,可以用自己的手机号创建个企业进行以下操作。
https://blog.csdn.net/songjuntao8/article/details/127098226
这里获取的 webhook 地址写入脚本即可
想在微信内显示需要根据以下链接文档操作
https://blog.csdn.net/liaotianbao/article/details/121156978
使用微信扫描企业微信的微信插件码即可
以上内容仅供学习交流,使用前请自行验证。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。