shell习题-监控80端口

1.要求:
写一个脚本,判断本机的80端口(假如服务为httpd)是否开启着,如果开启着什么都不做,
如果发现端口不存在,那么重启一下httpd服务,并发邮件通知你自己。
脚本写好后,可以每一分钟执行一次,也可以写一个死循环的脚本,30s检测一次。

2.脚本答案:

[[email protected] 2018-06-19]# cat httpd.sh 
#!/bin/bash
[email protected]
while true
do
        Num=`netstat -lntup|grep -w "80"|wc -l`
        if [ "$Num" -eq 0 ];then
                /usr/bin/systemctl restart httpd > /dev/null 2>&1
                Date=`date +%F-%T`
                echo "${Date} systemctl restart httpd"|mail -s "httpd" ${M
ail}
        fi
        sleep 30
done

3.测试脚本

3.1停止http

[[email protected] 2018-06-19]# systemctl stop httpd

3.2运行脚本

[[email protected] 2018-06-19]# bash  httpd.sh 

shell习题-监控80端口