shell监控脚本

本文介绍了如何使用Shell脚本监控Web服务器的状态,当服务器出现异常时,脚本会通过邮件进行报警。脚本借助wget或curl检查服务器可达性,并结合ping命令检测网络状况,根据返回值判断服务器是否正常。

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


web服务器监控


应用场景:监控web服务器状态,异常时邮件报警。
脚本说明:通过wget(也可以用curl)监控服务器状态,如果不能正常访问,ping检测网
络,网络正常通知管理员检查服务,ping不通邮件通知管理员。
服务器列表使用数组,服务器状态函数使用返回值判断服务器是否异常。

[root@kittod ~]# cat server.sh
#!/bin/bash
#define var
RETVAL=0
FAILCOUNT=0
MAIL_USER="root@haha.com"
RED='\033[31m'
GREEN='\033[32m'
BLUE='\033[34m'
CLOSE='\033[0m'
#define server list
SERVER_ALL_LIST=(
192.168.91.128:80
192.168.91.129:80
192.168.91.130:80
)
SERVER_ALL_LEN=${#SERVER_ALL_LIST[*]}
#web detection function
LOG_FILE="/tmp/web_check.log"
function GetUrlStatus() {
 for ((j=1;j<=3;j++))
 do
 wget -T 10 --tries=1 --spider http://${1} > /dev/null 2>&1
 if [ $? -ne 0 ]
 thelet FAILCOUNT+=1
 else
 FAILCOUNT=0
 break
 fi
 done
 [ $FAILCOUNT -gt 1 ] && RETVAL=1 || RETVAL=0
 return $RETVAL
}
function Send_Mail() {
 NowTime=$(date +"%Y-%m-%d %H:%M:%S")
 SC="http://${1} service is error,${NowTime}."
 mail -s "$SC" $MAIL_USER < ${LOG_FILE}
}
#service 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值