mysql主从复制巡检脚本_【实用脚本】MySQL备份巡检脚本

脚本说明:有多个数据库实例通过xtrabackup进行备份并推送到异地备份服务器上存放,每周对备份服务器的数据进行检查,并与上一次备份文件大小做对比,并将最后结果通过邮件进行通知

1、安装sendmail用于发送邮件

yum install sendmail mailx

vi /etc/mail.rc #文件末尾添加以下信息

set from=13841276@qq.com

set smtp=smtp.exmail.qq.com

set smtp-auth-user=13841276@qq.com

set smtp-auth-password=123456

set smtp-auth=login

2、检查脚本

#!/bin/bash

bak_dir=/data2/logbak01

bak_instance=(public qixin_3310 xiebao_3311 huihui_3312 venus_fin ins_scheduler bi1 bi2 wp ops_cicd odms_huntian security hongyan) #这里是数据存放备份目录中每个实例的目录

bak_log=/usr/local/shell/check_bak.log

for i in ${bak_instance[@]}

do

#最新一次备份和第倒数第二次备份文件名

first_file_name=`ls -lt ${bak_dir}/$i | grep xbstream | head -n 1 | awk '{print $NF}'`

second_file_name=`ls -lt ${bak_dir}/$i | grep xbstream |awk 'NR==2{print $0}'|awk '{print $NF}'`

#最新一次备份文件和倒数第二次备份文件大小

first_file_size=`du -sh ${bak_dir}/${i}/${first_file_name}| awk '{print $1}'`

second_file_size=`du -sh ${bak_dir}/${i}/${second_file_name}| awk '{print $1}'`

file_date=`stat ${bak_dir}/${i}/${first_file_name} |grep Modify | awk '{print $2}'`

echo "$i 最新备份文件大小: ${first_file_size}, 备份时间: ${file_date} ;上一次备份文件大小: ${second_file_size}" >> $bak_log

done

cat $bak_log | mail -s "数据库备份每周巡检" ops@huize.com

echo > $bak_log

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值