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