#!/bin/bash
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
PROGNAME=`basename $0`

work(){

    until [ -z $1 ]
    do
	if [ "$1" = "-H" ]
	then
	    HOST="$2"
	    shift
	fi
	if [ "$1" = "-u" ]
	    then
	    User="$2"
	    shift
	fi
	if [ "$1" = "-d" ]
	then
	    DB="$2"
	    shift
	fi
	if [ "$1" = "-p" ]
	then
	    PASS="$2"
	    shift
	fi
	if [ "$1" = "-w" ]
	then
	    WARN="$2"
	    shift
	fi
	if [ "$1" = "-c" ]
	then
	    CRIT="$2"
	    shift
	fi
	
	if [ "$1" = "-t" ]
	then
	    TYPE="$2"
	    shift
	fi
	
	if [ "$1" = "-Q" ]
	then
	    shift
	    SQL="$@"
	    shift
	fi
	
	

        shift
    done
    
    dosql(){
	SQRESULT=`/usr/bin/mysql -h $HOST -u$User -p$PASS $DB -se "$1"`
	echo $SQRESULT
	#return "$RESULT"
    }
    
    if [ "$TYPE" = "1" ]
    then
	SQL="SELECT count(*) FROM qweasd WHERE DeleteDate IS NULL;"
    
    fi
    
    RESULT=$(dosql "$SQL")
    
    if [ "$TYPE" = "1" ] && [ $RESULT -ge $WARN ]
    then 
    SQL1="SELECT qweasd WHERE DeleteDate IS NULL AND TIME_TO_SEC(TIMEDIFF( NOW(), date ) ) < 120;"
	
	ADDINFO=$(dosql "$SQL1")
	
    fi
    
    
    if [ ! -z $WARN ] && [ ! -z $CRIT ] 
    then
	if [ $RESULT -ge $WARN ] && [ $RESULT -lt $CRIT ]; then
	    echo "WARNING: $RESULT warn:$WARN; crit:$CRIT $ADDINFO"
	    exit 1
	elif [ $RESULT -ge $CRIT ]
	then
	    echo "CRITICAL: $RESULT  warn:$WARN; crit:$CRIT $ADDINFO"
	    exit 2
	else
	    echo "OK - warn:$WARN; crit:$CRIT"
	    exit 0
	fi
    fi
    
}


print_usage() {

	echo "Usage:"
	echo "$PROGNAME -H DBHOST -d DB -w WARN -c CRIT -u DBUSER -p DBPASS -t CHECKTYPE"
	echo ""

}


if [ $# -eq 0 ]; then
	print_usage
	exit 0
fi

case "$1" in
	help|-h)
	    print_usage
	    exit 0
	    ;;
	*)
	    if [ -z $1 ]; then work; else work "$@" ; fi;
	    ;;
esac

