linux shell脚本: 自动监控网站状态并发送提醒邮件

1.创建监控脚本:
$ vi /alidata/shell/webcheck.sh

#!/bin/sh

weblist="/alidata/shell/weblist.txt"
myemail="admin@qq.com"

for list in `cat $weblist|grep -E -v "#|^$"`
do
httpcode=`curl -o /dev/null -s -w %{http_code} "$list"`
httptime=`curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer:%{time_starttransfer}\ntime_total: %{time_total}\n" "$list"|grep time_total|awk -F ":" '{print $2*1000}'`

if [ $httpcode = 200 ]||[ $httpcode = 301 ]||[ $httpcode = 302 ]
then echo "$list is checked ok!"
else
echo "Warning: down !"
echo "$list is down!" | mutt -s "Warning: down !" $myemail
fi

if [ $httptime -ge 10000 ]
then echo "$list is timeout!" | mutt -s "Warning: timeout !" $myemail
#else echo "$list is connect ok!"
fi

done

$ chmod +x /alidata/shell/webcheck.sh

 

2.创建检查列表:
$ vi /alidata/shell/weblist.txt

http://www.mysite.com

 

3.添加计划任务:
$ crontab -e

0 */1 * * * /alidata/shell/webcheck.sh

 

注意:

1.必须先安装mutt, 用来发送邮件:
$ yum -y install mutt

2.报错:

sendmail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol

如何解决?
$ vi /etc/postfix/main.cf

inet_protocols = all

改为

inet_protocols = ipv4

 

3.报错:

postdrop: warning: unable to look up public/pickup: No such file or directory

如何解决?
$ /etc/init.d/sendmail stop
$ /etc/init.d/postfix start

 

 

 

 

 

;

转载于:https://www.cnblogs.com/upup2015/p/7786627.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值