check_mysql 脚本_[shell] check_slave.sh mysql主从监控复制的脚本

#!/bin/bash

# auth : yoncan@qq.com

#date : 2013-11-05STATUS_OK=0STATUS_WARN=1STATUS_CRITICAL=2STATUS_UNKNOWN=3export PATH=$PATH:/usr/local/bin:/usr/bin:/bin

_tmp_file=`mktemp /tmp/XXXXXXX`

# ########################################################################

# Set up default args

# ########################################################################

_default_user="ptcheck"_default_passwd="you_password"_default_host="127.0.0.1"_default_port="3306"# ########################################################################

# Get Help

# ########################################################################if [ "${1}" = "--help" -o "${#}" = "0"];then

echo "$0 -u -p -h -P "exit $STATUS_WARNfi# ########################################################################

# Get Options

# ########################################################################whilegetopts :u:p:h:P: OPTdo

case "$OPT" inu)

_user=$OPTARG ;;

p)

_pass=$OPTARG ;;

h)

_host=$OPTARG ;;

P)

_port=$OPTARG ;;

\?)echo 'unknow options' &&exit ;;esac

done_user=${_user:-"$_default_user"}

_pass=${_pass:-"$_default_passwd"}

_host=${_host:-"$_default_host"}

_port=${_port:-"$_default_port"}

# ########################################################################

# Check MySQL Running?# ########################################################################

_check_mysql_running() {

_run_status=`mysqladmin -u${_user} -p${_pass} -h${_host} -P${_port} ping 2>/dev/null`if [ "${_run_status}" != "mysqld is alive" ];then

echo 'Crit: mysql is not running..'exit $STATUS_CRITICALfi}

# ########################################################################

# Get MySQL Running Status

# ########################################################################

_get_slave_status() {

mysql-u${_user} -p${_pass} -h${_host} -P${_port} -e "show slave status\G" >${_tmp_file}if [ ! -s ${_tmp_file} ];then

echo "Unknow: get Slave status Unknow"exit $STATUS_UNKNOWNfi}

# ########################################################################

# Check MySQL Running Status

# ########################################################################

_check_slave_status(){

_slave_status=`awk -F '[ ]+|:' '/Slave.*Running/{printf("%s",$NF)}'$_tmp_file`if [ "$_slave_status" == "YesYes" ];then

echo "OK: MySQL Slave Running OK"exit $STATUS_OKelif [ "$_slave_status" == "NoNo" ];then

echo "Crit: MySQL Slave Not Running"exit $STATUS_CRITICALelif [ "$_slave_status" == "YesNo" ];then

echo "Warn: MySQL slave_sql_thread Not Running"exit $STATUS_WARNelif [ "$_slave_status" == "NoYes" ];then

echo "Warn: MySQL slave_io_thread Not Running"exit $STATUS_WARNelse

echo "Unknown: MySQL slave status is Unknown"exit $STATUS_UNKNOWNfi##clear tmp file

rm -f $_tmp_file

}

# ########################################################################

# Main

# ########################################################################

_main(){

_check_mysql_running

_get_slave_status

_check_slave_status

}

_main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值