下面是我编写的shell脚本 status_mysql.yl.sh
#!/bin/sh #列出当前mysql服务器的状态,并且把输出内容重定向到status_mysql.yl.temp文件 /etc/rc.d/init.d/mysqld status >status_mysql.yl.temp echo `/etc/rc.d/init.d/mysqld status` #定义4个变量,前两个为常量字符串,后两个为从status_mysql.yl.temp文件中模式匹配后得到的字符串 var1='正在运行...' var2='已停' var3=`awk ' /正在运行/ {printf("%s ", $4)}' status_mysql.yl.temp` var4=`awk ' /已停/ {printf("%s ", $2)}' status_mysql.yl.temp` #判断mysql状态是否是开启的,如果是,则停止服务器 if [ $var3 = $var1 ] then echo '/etc/rc.d/init.d/mysqld stop' /etc/rc.d/init.d/mysqld stop #判断mysql状态是否是停止的,如果是,则开启服务器 elif [ $var4 = $var2 ] then echo '/etc/rc.d/init.d/mysqld start' /etc/rc.d/init.d/mysqld start mysql -u root -p mysql #如果上面两个都不成立 else echo "mysql error!" fi #删除本次script临时文件 rm -f status_mysql.yl.temp