您的位置:首页 > 运维架构 > Linux

linux自动检测网站并发送邮件提醒

2009-05-27 16:58 423 查看
一 功能
定时自动检测网站是否能访问,如不能访问,发邮件(邮箱正好有短信功能,现在第三方飞信有接口可以直接发手机)

二 平台
fedora 6

三 实现过程

1 ckurls.sh(shell)内容如下(别忘了加执行权限):

#!/bin/bash
urls='http://1.com http://2.com' msg=''
for url in $urls
do
curl -sf $url
state=$?
if [ $state != 0 ]; then
msg=$msg$url/($state/)
fi
done
if [ $msg != '' ]; then
echo 'wrong'|mail -s $msg mymail@mail.com
echo "`date +/"+%F %T/"` $msg ">> /ew/sh/ckurls.log
fi

补充:
$? 指访问状态,具体数字含义可以用查帮助
# man curl|grep 52
0 正常
6 不能解析
7 web服务挂掉了
52 服务器有问题或者是TCP窗口缩放问题

2 邮件服务是否打开,如果没打开,一定要打开,不然不能发邮件

# /etc/init.d/sendmail status
sendmail (pid 23502 23494) is running...

3 定时,每天从7-22点每隔20分钟检测一次

# crontab -e

*/20 7-22 * * * /ew/sh/ckurls.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: