写一个脚本,查看80端口是否开放,如果开放,输出服务是启动的,如果不开放,重启 httpd 服务,并发送邮件给自己。 建立一个计划任务,每1分钟执行一次。
分析:
开放---》什么都不做
不开放---》重启并且发邮件+建立计划任务。
方法1:
ma=test@163.com
if `netstat -ntupl|grep 80|grep -v grep` >/dev/null;then #等价于$?
echo "httpd is start"
else
service httpd restart|mail -s "httpd restart now" -t $ma #mail -s "主题" -t 收件人
fi
方法2:
详见:https://blog.csdn.net/CityzenOldwang/article/details/70544192
#! /bin/bash
n=`netstat -lnp | awk '{print $4}' | grep ':80'`
if [ -z $n ]
then
/etc/init.d/httpd start
mail -s "80 port is down" test@163.com
fi