定時清理mysql的Sleep狀態的線程

#!/bin/bash
while :
do
  n=`mysqladmin -uroot -p'***' processlist | grep -i sleep | wc -l`
  date=`date +%Y%m%d\[%H:%M:%S]`
  echo $n

  if [ "$n" -gt 20 ]
  then
    for i in `mysqladmin -uroot -p'***' processlist | grep -i sleep | awk '{print $2}'`
    do
      mysqladmin  -uroot -p'***' kill $i
    done
    echo "sleep is too many i killed it" >> /usr/sleep.log
    echo "$date : $n" >> /usr/sleep.log
  fi
sleep 120 #每隔120 秒 執行一次
done

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