shell脚本

第一个脚本
对目标网站的默认主页进行检查,脚本只执行一次,检查成功,脚本退出并echo出successful,失败了就是fales,这个脚本适合在服务刚刚启动的时候,去查看服务的主页,看看能否获取到,能获取到,服务基本都是正常的,不能的话就有问题,需要再配置。

#!/bin/sh
. /etc/init.d/functions   ##加载这个脚本
RETVAL=0          ##初始化这个变量为0,用来检查是否成功返回
FAILCOUNT=0        ##失败次数的计数器
SCRIPTS_PATH="/root/script"  ##脚本路径
function Get_UrlStatus(){     ##定义获取url默认首页的函数
    for((i=1;i<=3;i++))        ##for循环三次,检查三次
    do
    wget -T 10 --tries=1 --spider http://$1 &> /dev/null  ##下载首页,时间为10s内,尝试此时一次,使用爬虫模式 导入空设备
        [ $? -ne 0 ] && let FAILCOUNT+=1;   ##不成功的话,失败次数变量+1
    done
    if [ $FAILCOUNT -gt 1 ];then   ##失败次数变量是否大于1
        RETVAL=1       ##如果大于,RETVAL重新赋值为1
    else
       RETVAL=0     ##不如不大于,RETVAL重新赋值为0
    fi
    return $RETVAL  返回一个RETVAL的值
}

[ ! -d "${SCRIPTS_PATH}" ] && makir -p ${SCRIPTS_PATH}
##如果脚本文件的目录不在时,创建一个
#check_url  ##检查的脚本
for URL in `cat ${SCRIPTS_PATH}/url_list` ##在脚本的目录下,创建一个url_list,里面写需要check的url列表。
    do
        echo -n "checking $URL:"  ##输出一个检查中
        Get_UrlStatus $URL && action "successful" /bin/true ||action "false" /bin/false  ##执行函数,返回值为RETVAL,用返回值去觉得执行那个action。
done

第二个脚本
对目标网站的默认主页进行检查,是一个后台常驻进程,根据需要再规定时间对主页进行检查,正常的话,无所谓,不正常的话,发送邮件,结束进程。

#!/bin/sh
. /etc/init.d/functions
RETVAL=0
FAILCOUNT=0
SCRIPTS_PATH="/root/script"
MAIL_GROUP="123456789@qq.com"
LOG_FILE="/tmp/url.log"
function Get_UrlStatus(){
    for((i=1;i<=3;i++))
    do
    wget -T 10 --tries=1 --spider http://$1 &> /dev/null 
        [ $? -ne 0 ] && let FAILCOUNT+=1;
    done
    if [ $FAILCOUNT -gt 1 ];then
        RETVAL=1
        NowTime=`date +"%Y-%m-%d-%H:%M:%S"`
        SC="http://$1 service is error ,${NowTime}"
        echo "send to:${MAIL_USER},Title:$SC" &> $LOG_FILE
        for MAIL_USER in  $MAIL_GROUP
        do
            mail -s "$SC" $MAIL_USER < ${LOG_FILE}
        done
    else
       RETVAL=0
    fi
    return $RETVAL
}

[ ! -d "${SCRIPTS_PATH}" ] && makir -p ${SCRIPTS_PATH}

$check_url
if [ $RETVAL -eq 0 ];then
    for URL in `cat ${SCRIPTS_PATH}/url_list`;do
            Get_UrlStatus $URL
    done
    sleep 10s
else
    exit
fi
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值