参考下面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