自動檢查mysql是否存在鎖表,微信推送狀態

最近mysql總會出現鎖表,目前正在分析,今天臨時寫個腳本,並添加微信消息推送,實時關注

#!/bin/bash --login
#---------------------------------------------------------
# $Name:         check.sh
# $Version:      v1.0
# $Author:       qiuyuetao
# $QQ: 598759292  
# $Create Date:  2017-12-13
# $Description:  Check Queue, Yepay Call, DB Lock
#---------------------------------------------------------
DATE=`date +%F-%H-%M`

##WeiXin ENV-------------------------------------------------------------------------------------
CropID='自己申請公衆號ID'
Secret='HxTbS_-rNujfHBAqFt7XMifFKEHQTX_yTNK2ciGob43mHgfc_GJiNW2dwjlitOCS'

APIURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
TOKEN=$(/usr/bin/curl -s -G $APIURL | awk -F\" '{print $10}')
POSTURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$TOKEN"

##WeiXin body--------------------------------------------------------------------------------------
function body() {
        local int AppID=1
        local UserID=自己公衆號用戶
        local PartyID=2
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'"$AppID"\"",\n"
        printf '\t"text": {\n'
        printf '\t\t"content": "'-"$Msg"\""\n"
        printf '\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
     }

##Check DB LOCK--------------------------------------------------------------------------------------
function ckdblock() {
CKHOST="127.0.0.1"
CKDB="information_schema"
CKUSER="root"
CKPWD="****數據庫密碼!"
CKMLLOG="/root/shell/check/cklock/cklock.txt"

LKCON=`/usr/bin/mysql -h "$CKHOST" -u "$CKUSER" -p"$CKPWD" -e "SELECT count(*)  FROM "$CKDB".INNODB_LOCKS" |tr -d 'count(*) '`
LKTAB=`/usr/bin/mysql -h "$CKHOST" -u "$CKUSER" -p"$CKPWD" -e "SELECT lock_table FROM "$CKDB".INNODB_LOCKS"`

/usr/bin/mysql -h "$CKHOST" -u "$CKUSER" -p"$CKPWD" -e "SELECT lock_table FROM "$CKDB".INNODB_LOCKS" |grep 'ylhccn_jobs'
JOBSTAT=$?
     echo "---------------------------------------"
     echo "目前鎖表數量: $LKCON"
     echo "目前鎖表名字: $LKTAB"
     echo "---------------------------------------"

if [ "$LKCON" -gt 0 ]; then

      /usr/bin/mysql -h "$CKHOST" -u "$CKUSER" -p"$CKPWD"  -e "SELECT * FROM "$CKDB".innodb_trx \G"  >> $CKMLLOG
 else
    Msg="MySQL正常,無鎖表異常狀態"
     echo  "$(body guozhiheng0123 $2 )" $POSTURL
     /usr/bin/curl --data-ascii "$(body guozhiheng0123 $2)" $POSTURL

fi
}

##Main--------------------------------------------------------------------------------------
main(){
        ckdblock;
}

main

##END----------------------------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章