你的位置:首页 > 脚本语言

shell脚本监控mysql服务器状态

2012-02-02 浏览:(3217) 脚本语言 评论(0)

目的:

1.监控mysql服务器的状态

2.当发现mysql down机就自动重启mysql服务

3.重启mysql不成功,发邮件给管理员警告mysql down机

#vi /usr/local/sbin/check_mysql.sh

#!/bin/sh
cat << EOF
+--------------------------------------------------------------------------+
|                      === Welcome to LinuxTone===                         |
|-------------------------http://www.linuxtone.org------------------------ |
+--------------------------------------------------------------------------+
EOF

PORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`
MYSQLIP=`ifconfig eth0|awk '/inet/{print $2}'|cut -c 6-`
while [ `whoami` == "root" ]
do
  if [ "$PORT" == "3306" ];then
    echo "mysql is running......"
  else
    echo "restart mysql"
    /etc/init.d/mysqld restart
       if [ "$PORT" == "3306" ];then
         echo "mysql restart successful......" 
       else
         echo "mysql restart failure......"
         echo "server: $MYSQLIP mysql is down,please try to restart mysql!" > /var/log/mymsg
         mail -s "warn!server: $MYSQLIP  mysql is down" hamgua\@gmail.com < /var/log/mymsg
       fi
  fi
break
done

赋予check_mysql.sh可执行的权限

#chmod u+x /usr/local/sbin/check_mysql.sh

加入crontab,让系统五分钟检测一次mysql状态

#crontab -l

*/5 * * * * /usr/local/sbin/check_mysql.sh > /dev/null 2>&1

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。