2016年9月13日星期二

检查mysql运行服务状态,并发送邮件告警

1,在227本机上添加脚本,check_mysql.sh #!/bin/bash #check mysql stutus USER="zabbix" PASSWORD="password" LOG="/root/check_mysql.log" SYSTEM_TIME=`date '+%Y-%m-%d %T'` iswrong="false" port=`netstat -nlt|grep 3306|wc -l` if [ $port -ne 1 ] then echo "mysql port is not found." >> $LOG iswrong="true" else echo "mysql port is listening." >> $LOG fi process=`ps -ef|grep mysqld|grep -v grep|wc -l` if [ $process -ne 2 ] then echo "mysql process is not 2 process or not exist." >> $LOG iswrong="true" else echo "mysql process is exist." >> $LOG fi mysql -u$USER -p$PASSWORD -e "select version();" &>/dev/null if [ $? -ne 0 ] then echo "mysql cound not query now ." >> $LOG iswrong="true" else echo "mysql query ok ." >> $LOG fi if [ $iswrong == "true" ] then echo "send email" >> $LOG /usr/local/bin/sendEmail -s "smtp.exmail.qq.com" -xu "lancaihe@qq.com" -xp "password" -f "lancaihe@qq.com" -t "xxxx@qq.com" -u "mysql server is down." -m "$SYSTEM_TIME \n. mysql server is down." fi 在机器上设置计划任务 */5 * * * 6 ssh root@'192.168.0.10' "sh /bin/check_mysql.sh" > /dev/null 2>&1 每周六,每隔5分钟就进行一次脚本检查。 解决本机计划任务也停止问题的解决方案

没有评论:

发表评论