#! /bin/bash #Author=Harry CheckUrl() { #<==定义函数,名字为CheckUrl timeout=5 #<==定义wget访问的超时时间,超时就退出 fails=0 #<==初始化访问网站失败的次数记录变量,若失败达到两次,就发邮件报警 success=0 #<==初始化访问网站成功的次数记录变量,若为1,则表示成功,退出脚本 while true do wget --timeout=$timeout --tries=://192.168.1.99/harry -q -O /dev/null #<==使用wget测试访问 if [ $? -ne 0 ] #<==如果上述wget命令执行不成功,即返回值不为0,则执行if语句内的的指令 then let fails=fails+1 #<==将访问失败的次数加1,这个就是let的用法,可以用((fails=fails+1))代替 else let success+=1 #<==返回值不为0则不成立,即访问成功,将成功的次数加1 fi if [ $success -ge 1 ] #<==如果成功的次数大于等于1 then echo success #<==打印访问成功 exit 0 fi if [ $fails -ge 2 ] then Critical="sys is down." echo $Critical|tee|mail -s "$Critical" 1505196767@qq.com #<==输出并发送邮件报警 exit 3 fi done } CheckUrl #<==执行函数