分享我所知道的

Linux下网站在线状态shell监测脚本

    当有一批网站需要检测在线状态的话一些免费的监控服务并不够,这时需要我们自己搭建一个网站在线监控平台,可以实现的方法很多,有windows下网站在线监控软件;有php源码,之前我找了两个,但是不太好用,可参见PHP网站状态在线监控源码以及ServerStatus(项目地址,这个ServerStatus看起来还不错,只是数据库那里实在弄不了,最后只有放弃,最后找到了一个在linux下适用shell监控网站在线状态的脚本,测试了一下还可以。


一、安装Mutt
在Ubuntu/debian下安装:
apt-get install mutt -y
apt-get install msmtp -y
其它系统可以在网络上查一下

二、下载监控脚本,将里面的邮件地址改为自己的

wget http://d.zmrbk.com/vps/jk.sh

#!/bin/sh
#Power By zmrbk.com

weblist=/root/list.txt
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 ]||[ $httpcode = 403 ]||[ $httpcode = 401 ]
then
echo "$list is checked ok!"
else
echo "$list is down!" | mutt -s "website is down" i@zmrbk.com
fi
if [ $httptime -ge 10000 ]
then
echo "$list is timeout!" | mutt -s "website is timeout" i@zmrbk.com
else
echo "$list is connect ok!"
fi
done

三、在root目录下创建一个list.txt的文本,可以在本地创建好后用winscp上传到vps,里面写上要监控的网址,一行一个。



四、添加计划任务,设置每天监控一次状态。

crontab -e 
59 23 * * * /bin/sh  /root/jk.sh

赞(0)
未经允许不得转载:追梦人博客 » Linux下网站在线状态shell监测脚本
分享到:

评论 3

评论前必须登录!

 

  1. #0

    阿里云 的相对好 点

    匿名10年前 (2015-03-27)
  2. #0

    阿里云。。。。

    嘉靖10年前 (2015-03-08)