- 论坛徽章:
- 5
|
对于监控mysql服务的脚本,我是引入了数组的方式来处理,脚本的内容如下:
#/bin/bash
port=(`netstat -tulnp|grep -i listen|awk {'print $4'}|awk -F: {'print $4'}`)
length=${#port[@]}
for((i=0; i<$length;i++))
do
if [ ${port[i]} -eq 3306 ]
then
quit
else
service mysql start
fi
done
我如果单一执行
[root@wangyu-rh-6 ~]# netstat -tulnp|grep -i listen|awk {'print $4'}|awk -F: {'print $4'}
111
22
631
45285
由于mysql对应的是3306端口,而我想达到的目的是当使用if [ ${port[i]} -eq 3306 ]语句依次比对port数组后,目前数组的内容为111,22,631,45285,数组中的4个数字都不为3306时再启动mysql服务,但是目前按照我的脚本是每比对数组中的一个值,如果不等于3306,就会启动一次mysql,请问我应该如何来修改脚本使得数组中的每个值都比对完成后发现所有值都不等于3306,再来启动mysql服务? |
|