博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell监控脚本实例—监控mysql主从复制
阅读量:7229 次
发布时间:2019-06-29

本文共 2114 字,大约阅读时间需要 7 分钟。

分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下。 转自:(转载请注明出处)

本节内容:

监控的shell脚本。

说明:
监控脚本在 rhel5 下测试正常,其它版本的请自行测试。

代码:

1 #监控mysql 主从复制 2 cat chk_mysql_rep.sh  3 #!/bin/bash  4 #  5 #script_name:chk_mysql_rep.sh  6 #check mysql replication  7 #  8 #ssh root@xen "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {print $2}'  9 #Yes 10 #Yes 11 # 12 #variables 13 ssh=/usr/bin/ssh 14 sh_dir=/root/sh/ 15 crondir=${sh_dir}crontab 16 source ${sh_dir}CONFIG 17 hosts="$DB_SLAVE_HOSTS"18 #main 19 #主循环遍历机器 www.jbxue.com20 for HOST in $hosts;do 21 log=$crondir/log/mysql_replication_error.log 22 key=$($ssh root@$HOST "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {printf $2}') 23     #无法连接的主机,跳过本次循环 24     test -z "$key" && continue 25     #返回结果真 26     if [ "$key" == "YesYes" ];then 27         #flag真,解除报警 28         if [ -f "${crondir}/log/$HOST.mysql" ];then 29             #sms 30             #for mobile in $MOBILES;do 31                 #echo "$HOST replication ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 32             #done 33             #mail 34             for mail in $MAILS;do 35                 echo "$HOST replication ok" | mail -s "$HOST replication ok" $mail 36             done 37             #flag 38             rm -f "${crondir}/log/$HOST.mysql" 39         fi 40     #返回结果假 41     else   42 check_date=$(date '+ %F %T') 43         #flag假,报警 44         if [ ! -f "${crondir}/log/$HOST.mysql" ];then 45             #sms www.jbxue.com46             #for mobile in $MOBILES;do 47                 #echo "$HOST replication error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 48             #done 49             #mail 50             for mail in $MAILS;do 51                 echo "$HOST replication error" | mail -s "$HOST replication error" $mail 52             done 53             #flag 54             echo "replication error" >"${crondir}/log/$HOST.mysql" 55             #log 56             echo "$check_date $HOST mysql replicaton error" >> $log 57         fi 58     fi 59 # 60 done 61 #
 
你可能感兴趣的文章
Java版冒泡排序法
查看>>
关于FB4.6插件安装后默认语言环境的更改问题
查看>>
免费分区助手
查看>>
Javascript通过Name调用Function
查看>>
统计当前在线用户数量
查看>>
IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
查看>>
PHP项目记录
查看>>
.net面试题系列文章七(附答案)
查看>>
FastSocket
查看>>
ionic $ionicSlideBoxDelegate 滑动框事件
查看>>
点击文字,把input type="radio"也选中
查看>>
第一章 Java多线程技能
查看>>
Java 集合系列-第八篇-Map架构
查看>>
springmvc 3.2 @MatrixVariable bug 2
查看>>
React-Native PanResponder手势识别器
查看>>
IOS11 光标错位问题
查看>>
如何设计用户登录
查看>>
linux安装mysql5.7.19
查看>>
Zookeeper+ActiveMQ 集群实现
查看>>
加权有向图问题2----多源最短路径问题(Floyd算法)和关键路径算法
查看>>