简单检测mysql主从正常与否的脚本

本文介绍了一种使用Bash脚本监控MySQL从库状态的方法。通过执行特定的SQL命令并解析输出来检查从库是否正常运行。该脚本可以根据Nagios的需求进行调整,适用于自动化监控系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考下面url:http://www.2cto.com/database/201307/227988.html

利用这个语句

 /usr/bin/mysql -h 172.26.128.8* -P 3306 -u monitor -p_Y-93iE2 -N -e "show slave status" | grep mysql-bin | awk -F' '  '{print $16}'

mysql -h$HOST -u$USER -p$PASSWD -P$PORT -e "show slave status\G"|grep "Running" |awk '{print $2}'


我们依据Nagios脚本的需要,对于脚本进行了改写。

上代码


#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
OK=0
WARNING=1
CRITICAL=2
UNKNOWN=3

while getopts "h:u:p:P:" arg #选项后面的冒号表示该选项需要参数

do

        case $arg in

             h)

                HOST=$OPTARG #参数存在$OPTARG中

                ;;

             u)

                USER=$OPTARG

                ;;

             p)

                PASSWD=$OPTARG

                ;;

             P)

                PORT=$OPTARG

                ;;

             ?)  #当有不认识的选项的时候arg为?

                echo "unkonw argument"

                exit 3 ;;

        esac

done

#ip=`ifconfig eth0|sed -n 2p|awk  '{ print $2 }'|awk -F : '{ print $2 }'`


array=($(mysql -h$HOST -u$USER -p$PASSWD -P$PORT -e "show slave status\G"|grep "Running" |awk '{print $2}'))

if [ "${array[0]}" == "Yes" ] && [ "${array[1]}" == "Yes" ];then
           echo "slave is OK"
           exit $OK
else

#           echo "${ip}:slave is error"
           echo "$HOST:slave is error"
           exit $CRITICAL
fi



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值