2013-10-16 shell脚本练习题

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

{{{密码回复可见}}}
2013-10-16 15:12 举报
已邀请:
0

肖永安

赞同来自:

1

0

季山

赞同来自:

#!/bin/bash

while :

do

a=`netstat -lnp|grep 80|awk -F '/' '{print $2}'`

if [ -z $a  ]

then

/usr/local/apache2/bin/apachectl  restart >/dev/null

echo "httpd is restart"| mail -s "httpd is restart" jishan1984@163.com

fi

sleep 30

done

0

成成

赞同来自:

学习

0

失落的乐章

赞同来自:

学习了

0

杨银根

赞同来自:

#!/bin/bash

if [ -n `netstat -ltnp|grep 80` ]

then

   /etc/init.d/nginx start

   echo "nginx status start!" |mail "nginx" 135@163.com

fi

0

aikera

赞同来自:

#!/bin/bash
mail=aiker@gzedu.ml
while :;do
 h=`ss -tl | grep http | awk -F ":::" '{print $2}'`
 if [ -z $h ];then
 /usr/local/apache/bin/apachectl restart &> /dev/null
 echo "http is down and restared" | mail -s "httpd is restart" $mail   
 fi
 sleep 30
done



0

小路55

赞同来自:

如何判断某端口开启状态?if流程控制,apachectl restart && echo “httpd挂了”|mail -s 123@123.com,否则什么都不做。写死循环套上while,每分钟执行用cron。

0

致敬雷布斯

赞同来自:

qeqeqewqe

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: