原创:很多时候我们需要自动监控检测数据库是否正常运行,然后根据数据库情况来进行相应的命令处理,如重启,发送信息等!
以下使用三个步骤来达到监控mysql数据库连接状态的目录。
思路:使用php定时尝试连接数据库并返回链接后的状态数据,对其相应的处理。
首先:能够运行php的目录下建立一下文件 暂名:checkmysql.php
- <?php
- //测试php数据库链接状态的脚本
- $mysql_user = "mycar168test";
- $mysql_password = "2011_mycar168data";
- $link = mysql_connect("localhost",$mysql_user,$mysql_password) or die("bad");
- print ("ok");
- mysql_close($link);
- ?>
其次建立 shell脚本名checkmysql.sh
- # vi check.sh
- #!/bin/sh
- cd /usr/local/sbin
- test -e "checkmysql.php" && rm -f checkmysql.php
- test -e "wget-log" && rm -f wget-log
- wget -b "http://127.0.0.1/checkmysql.php" > /dev/null 2>&1
- sleep 2
- checkdb=`cat checkmysql.php`
- if
- [ "$checkdb" == "ok" ] ;then
- echo "`date +%d/%m/%Y:%H:%M:%S` - - Mysql connected successfully!"
- echo "-------------------------------------------------------------"
- elif
- [ "$checkdb" != "ok" ] ;then
- #/etc/init.d/mysqld restart
- service mysql restart
- echo "`date +%d/%m/%Y:%H:%M:%S` - - Mysql connected bad!restart successful!"
- echo "-------------------------------------------------------------"
- fi
- exit 0
最后设置定时运行监控crontab,下面为2分钟一次:站长教学网 eduyo.com
*/2 * * * * root /root/shell/checkmysql.sh >> /data/logs/checkmysql.log
这样就每次监控记录就可以保存着log文件里面了,要是有短信接口也可以发送短信通知你。
有问题可以留言探讨,希望能对您有帮助!原创内容转载请注明来源。
(责任编辑:ken)