背景
判断本机80端口是否启动,如果没有启动那么重启一下httpd服务并发送告警邮件
需求
- 检测80端口使用nmapp 80127.0.0.1或者netstat -Intplgrep -w 80。
- 重启 httpd 服务的命令
- 发邮件脚本依然使用mail.py。
设计思路
通过netstat -ntlp查看端口是否开启,然后发邮件给管理员并尝试开启。如果依然无法开启将报错发送给管理员。
#!/bin/bashm=1182350036@qq.comwhile :don=`netstat -ntlp | grep -c '80'`if [ $n -eq 0 ]; thensystemctl start httpd 2> /tmp/apache.errecho "80端口已经关闭,正在尝试重启httpd"pyhon3 mail.py $m "80端口已关闭,已经重启服务"sleep 2pn=`pgrep -l httpd|wc -l`#pn=`netstat -ntlp | grep -c '80'`if [ $pn -eq 0 ];thenecho "端口无法开启!!"python3 mail.py $m "http 重启失败 `head -1 /tmp/apache.err`"elseecho "启动成功!"fifidone
