前提条件:系统中要先安装nmap扫描工具。
脚本功能介绍:通过检测mysql3306端口是否打开,没有就启动mysql服务;运行mysql服务则检测能不能正常连接mysql;不能正常连接,则杀掉kill所有mysql进程,重新启动mysql服务
shell脚本代码如下(使用了if条件语句):
#!/bin/bash /usr/bin/nmap localhost |grep 3306 if [ $? -eq 0 ] then /usr/local/mysql/bin/mysql -uxxxxx -pxxxxxx --connect_timeout=5 -e "show databases;" if [ $? -ne 0 ] then /bin/ps aux |grep mysql |grep -v grep | awk '{print $2}' | xargs kill -9 /usr/local/mysql/bin/mysqld_safe --user=mysql & > /dev/null fi else /usr/local/mysql/bin/mysqld_safe --user=mysql & > /dev/null fi |