如果它不工作,我正在寻找一些用于自动重启 mysql 服务器的工作 shell 代码。这是我在谷歌搜索中找到的一些代码,听 3306 端口,如果它不起作用,请重新启动。如果无法重新启动,请重新启动服务器。
这段代码可以工作吗?如果没有,有人可以分享我的工作代码吗?如果是,我syntax error near unexpected token
在 bash 代码中遇到了 done',如何解决?谢谢。
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
service mysql restart
if [ "$PORT" == "3306" ];then
else
reboot
fi
fi
break
done
修改代码:
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
service mysql restart
if [ "$PORT" == "3306" ];then
:
else
reboot
fi
fi
break
done