#!/usr/bin/env bash
#author:danny
#date:2017-12-28
#检测80端口和公司主页存活状态
Check_URL=`/usr/bin/curl -I https://www.xxx.com --connect-timeout 5 --max-time 5 -o /dev/null 2>/dev/null -w "%{http_code}
"`
send=1
send_1=1
Mail="danny@test.com"
Sleep=60
Date=`date +%F %H:%M`
Check_web=`netstat -nltp | grep ":80" | wc -l`
while true
do
#检测公司主页存活状态
if [ $Check_URL -ne 200 ]&&[ $send -eq 1 ];then
echo "生产主页www.xxx.com访问失败,请尽快处理!!!" | mail -s "生产主页www.xxx.com访问失败,请尽快处理!!!" $Mail
send=0
fi
if [ $Check_URL -eq 200 ]&&[ $send -eq 0 ];then
echo " 生产主页www.xxx.com已恢复 " | mail -s " 生产主页www.xxx.com已恢复 " $Mail
send=1
fi
#检测80端口存活状态
if [ $Check_web -eq 0 ]&&[ $send_1 -eq 1 ];then
echo "生产80端口没被监听,请尽快处理!!!" | mail -s "生产80端口没被监听,请尽快处理!!!" $Mail
send_1=0
fi
if [ $Check_web -eq 1 ]&&[ $send_1 -eq 0 ];then
echo " 生产80端口已恢复监听 " | mail -s " 生产80端口已恢复监听 " $Mail
send_1=1
fi
sleep $Sleep
done
放后台启动:
nohup sh check_URL.sh 2>1 &
附:nohup的其他用法
nohup command > myout.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。