判断本机的80端口--仅供参考

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

核心要点
* 检测80端口使用nmap -p 80 127.0.0.1或者netstat -lntp|grep -w 80
* 重启httpd服务的命令要知道
* 发邮件脚本依然使用mail.py  

参考答案

#!/bin/bash
m=123@123.com
while :
do
    n=`netstat -lntp |grep ':80 '|wc -l`
    if [ $n -eq 0 ]
    then
        /usr/local/apache2/bin/apachectl -k restart 2>/tmp/apache.err
        python mail.py $m "80端口关闭" "已经重启httpd服务"
        pn=`pgrep -l httpd|wc -l`
    if [ $pn -eq 0 ]
    then
        python mail.py $m "httpd重启失败" "`head -1 /tmp/apache.err`"
    fi
    fi
    
    sleep 30
done

 

posted @ 2021-02-19 11:27  星火撩原  阅读(154)  评论(0)    收藏  举报