码迷,mamicode.com
首页 > 数据库 > 详细

shell习题第26题:监控mysql服务

时间:2019-06-09 00:51:00      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:service   核心   usr   egrep   假设   nbsp   else   $1   $2   

【题目要求】

假设mysql密码是123456. 写脚本监控mysql服务是否正常,比如是否可以执行show processlist,并检测一下当前的mysql服务是主还是从。如果是从,请判断他的主从服务是否正常。如果是主,则不需要做什么

【核心要点】

mysql -uroot -p123456 -e "show processlist"

show slave status

【脚本】

#!/bin/bash
mysql="/usr/local/mysql/bin/mysql -uroot -p123456"
if ! $mysql -e "show processlist" >/dev/null 2>/dev/null
then
    echo "Mysql service is down"
else 
    $mysql -e "show slave status\G" 2>/dev/null > /tmp/slave.stat
    n=`wc -l /tmp/slave.stat | awk {print $1}`
    if [ $n -eq 0 ]; then
        echo "This is master."
    else 
        echo "This is slave."
        $mysql -e "show slave status\G" | egrep Slave_IO_Running:|Slave_SQL_Running: | awk -F:  {print $2} >/tmp/SQL.tmp
        if grep -qw "NO" /tmp/SQL.tmp
        then
            echo "The slave is down."
        fi
    fi
fi

 

shell习题第26题:监控mysql服务

标签:service   核心   usr   egrep   假设   nbsp   else   $1   $2   

原文地址:https://www.cnblogs.com/dingzp/p/10992110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!