## 写一个脚本判断Linux服务器里是否开启web服务
## 如果开启了,请判断出跑的什么业务,是httpd还是mysql又或者是其它什么?
#!/bin/bash
## 定义检测web服务是什么函数
what_web(){
case $1 in
httpd)
echo "跑的是Httpd服务."
;;
mysqld)
echo "跑的是mysql服务."
;;
*)
echo "跑的是其它服务"
;;
esac
}
## 如果没有监听3306端口,则说明没有跑web服务
port_n=`ss -lnp | grep ':3306 ' |wc -l`
if [ ${port_n} -eq 0 ]
then
echo "没有开启web服务"
exit;
fi
## 将监听3306端口的所有进程去重后先写入临时文件
ss -lntp |grep ":3306 " |awk -F '"' '{print $2}'|sort |uniq >/tmp/web.txt
## 计算临时文件有多少行
line=`wc -l /tmp/web.txt|awk '{print $1}'`
## 如果进程不止一种,那需要做遍历
if [ $line -gt 1 ]
then
for web in `cat /tmp/web.txt`
do
what_web $web
done
else
web=`cat /tmp/web.txt`
what_web $web
fi
rm -f /tmp/web.txt