教程集 www.jiaochengji.com
教程集 >  脚本编程  >  shell  >  正文 mysql主从监控的shell脚本

mysql主从监控的shell脚本

发布时间:2014-08-28   编辑:jiaochengji.com
mysql主从监控的shell脚本

一个mysql主从监控的脚本,供大家学习参考。

复制代码 代码如下:

#!/bin/bash
#mysql check by lks
Date=`date +'%y-%m-%d %H:%M:%S'`
Port=3306
Master_IP=192.168.4.11
Slave_IP='192.168.4.15 192.168.4.18'
Mysql_bin=/usr/local/mysql/bin/
Mysql_User='a12333a_li'
Mysql_Passwd='123456789'
Master_Command='show databases'
Slave_Command='show slave status\G'

Check_Mysql_log=/var/mysql.log
Sendmail_log=/tmp/mysql.log
ERROR=0
:>$Sendmail_log

#Master
echo "$Master_Command" |"$Mysql_bin"/mysql -h "$Master_IP" -u"$Mysql_User" -p"$Mysql_Passwd" -P"$Port"
if [ $? != 0 ];then
        ERROR=1
        echo ""$Date" mysql "$Master_IP" error" >>"$Check_Mysql_log" >>"$Sendmail_log"
fi

#slave
for i in $Slave_IP
        do
          IO_status=`echo "$Slave_Command" | "$Mysql_bin"/mysql -h "$i" -u"$Mysql_User" -p"$Mysql_Passwd" -P"$Port" |grep Slave_IO_Running | awk '{print $2}'`
          SQL_status=`echo "$Slave_Command" | "$Mysql_bin"/mysql -h "$i" -u"$Mysql_User" -p"$Mysql_Passwd" -P"$Port" |grep Slave_SQL_Running | awk '{print $2}'`
          if [ "$IO_status" != "Yes" -o "$SQL_status" != "Yes" ];then
                ERROR=1
                echo ""$Date" mysql "$i" error" >>"$Check_Mysql_log" >>"$Sendmail_log"
          fi
        done

#check ERROR
if [ "$ERROR" == 1 ];then
         /usr/local/mutt/bin/mutt -s "mysql error" 28145***@qq.com <"$Sendmail_log"    //邮件发送,根据自己的环境来发送
fi

关于邮件发送的例子可以参考这篇文章 shell脚本发送邮件的例子 。
另外,这里有篇mysql主从健康状态监控的文章,大家可以参考看看。

您可能感兴趣的文章:
mysql备份与同步脚本
一个监控mysql主从健康状态的shell脚本
自动监控mysql主从同步的shell脚本代码
mysql主从监控的shell脚本
shell脚本:MySQL监控软件mytop的安装
一例监控mysql主从复制的shell脚本
分享一个shell for循环+case的脚本(监控程序状态)
Zabbix Mysql Fpmmm(MPM)监控的教程
php高级程序员该学什么
一个自动监控进程的shell脚本

[关闭]
~ ~