本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Shell
  • 【实用脚本】MySQL备份巡检脚本

【实用脚本】MySQL备份巡检脚本

发布:TangLu2020-6-2 13:51分类: Shell 标签: 脚本 shell

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

1、安装sendmail用于发送邮件

yum install sendmail
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


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【实用脚本】MySQL备份巡检脚本
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-591.html  [生成短网址]

已有 0/1053 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~