当有一批网站需要检测在线状态的话一些免费的监控服务并不够,这时需要我们自己搭建一个网站在线监控平台,可以实现的方法很多,有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
阿里云 的相对好 点
阿里云。。。。
没有阿里云