监控Linux服务器网站状态的SHELL脚本

本文介绍了一个用于监控网站状态的Shell脚本,通过循环遍历网站列表,使用CURL命令获取HTTP状态码,并根据返回的状态码进行相应的错误处理。脚本提供了定时执行的示例,帮助用户实时监测网站健康状况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,监控httpd状态码的shell脚本代码。

#!/bin/sh
#site: www.jquerycn.cn
#
website[0]=www.jquerycn.cn/chuzu/' #网站1
mobile[0]='13141200000' #对应网站1 手机号码
website[1]=www.jquerycn.cn/chushou/' #同上2
mobile[1]='13141200000'  #同上2
#当网站较多时,可以考虑以文件来存储,或从数据库中读取
length=${#website[@]}   #获取网站总数量
for ((i=0; i<$length; i++)) #循环执行
do
   status=$(curl -I -m 10 -o /dev/null -s -w %{http_code} ${website[$i]})   #CURL 获取http状态码
   if [ "$status"x != "200"x ]; then      #检测是否为 200(正常)
    echo ${website[$i]} '=>' $status  
    #php /htdoc/jk/shell_monitor.php ${mobile[$i]} ${website[$i]}'=>AccessError!'  #执行PHP文件(采用第三方短信类库,或发送报警邮件)
   fi #结束if
done #结束 do

执行:crontab -e
写入内容:5 * * * * /shell path
(上5分钟执行一次)

2,监控网站状态的shell脚本
监控指定网页的状态,若返回200表示正常,否则出错:

#!/bin/bash 
#edit: www.jquerycn.cn
#网站url地址
#
URL=$1
#获取http响应代码 
HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`
#服务器能正常响应,应该返回200的代码 
if [ $HTTP_CODE != 200 ];then 
    echo $HTTP_CODE
    ((a=$HTTP_CODE/10))
    echo $a
#这里可以报警处理
    exit $a
else
    exit 0
fi

调用脚本的方法:
bash ./url_monitor.sh "http://www.jquerycn.cn/"

设置crontab计划任务,每五分钟执行一次,以监控网站的健康状态。
示例:
5 * * * * ./url_monitor.sh

转载于:https://www.cnblogs.com/clarke/p/5454614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值