9-24 3,257 views
方法一
#!/bin/bash
#DATE 2013/11/25
#MAIL gccmx@163.com
#FUNCTION check the mysql status,if not run start mysql.
#Create by Chenchao Gao
checkMysql(){
CMDCHECK=`lsof -i:3306 &>/dev/null`
Port="$?"
PIDCHECK=`ps aux|grep mysqld|grep -v grep`
PID="$?"
if [ "$Port" -eq "0" -a "$PID" -eq 0 ];then
return 200
else
return 500
fi
}
startMysql(){
/etc/init.d/mysqld start
}
checkMysql
if [ $? == 200 ];then
echo "Mysql is running..."
else
startMysql
checkMysql
if [ $? != 200 ];then
while true
do
killall mysqld
sleep 2
[ $? != 0 ]&&break
done
startMysql
fi
fi
方法二
#!/bin/bash
#mysql check
PORT="0"
PORT=`netstat -lnt | grep 3306 | wc -l `
echo $PORT
if [ $PORT -eq 1 ]
then
echo "mysql is running"
else
echo "mysql is not running"
echo "progrome reeady to start mysql "
sudo service mysql start
./check_mysql.sh
fi