当前位置:首页 > linux > shell ping监控服务器是否死机/方糖通知

shell ping监控服务器是否死机/方糖通知

有时候服务器经常死机,但是死机我们又没办法知道,这时候需要一个自动脚本来帮助我们监控服务器是否运行
在linux 下 vim ./ip.sh
添加下面的代码并保存退出,设置文件权限  chmod 777 ip.sh
#!/bin/bash
SCKEY="SCU4316******************************" #方糖通知的SCKEY
IP_array=("f.cqroom.cn" "b.cqroom.cn" "c.cqroom.cn" "d.cqroom.cn" "e.cqroom.cn" "f.cqroom.cn" "g.cqroom.cn" "h.cqroom.cn" "i.cqroom.cn" "j.cqroom.cn" "k.cqroom.cn")
IP_send=( )
IP_send_num=( )
for((i=0;i<${#IP_array[@]};i++));#初始化数组
do
	IP_send[$i]=0
	IP_send_num[$i]=0
done
while :
do
   for((i=0;i<${#IP_array[@]};i++));
	do
		ping -c 1 ${IP_array[i]} &>/dev/null            #三个ping有一个能通,说明服务器正常
		a=$?
		sleep 2
		ping -c 1 ${IP_array[i]} &>/dev/null
		b=$?
		sleep 2
		ping -c 1 ${IP_array[i]} &>/dev/null
		c=$?
		sleep 2
		DATE=$(date +%F" "%H:%M)
		echo "$DATE ${IP_array[i]} $a $b $c"
		if [ $a -ne 0 -a $b -ne 0 -a $c -ne 0 ];then
			if [ ${IP_send_num[$i]} -gt 0 ];then #判断是否多次ping不通  递加延时通知
				((IP_send_num[$i]--))
			else
				IP_send_num[$i]=${IP_send[$i]}
				curl -m 10 https://sc.ftqq.com/$SCKEY.send?text=服务器连不上了\&desp=第${IP_send[$i]}次通知%20时间:$(date "+%Y-%m-%d")%20$(date "+%H:%M:%S")%20域名:${IP_array[i]}
				echo https://sc.ftqq.com/$SCKEY.send?text=服务器连不上了\&desp=第${IP_send[$i]}次通知%20时间:$(date "+%Y-%m-%d")%20$(date "+%H:%M:%S")%20域名:${IP_array[i]}
				echo "$DATE ${IP_array[i]} $a $b $c" > iplog.txt
			fi
			((IP_send[$i]++))
		else
			IP_send[$i]=0 #有一次ping通  复位计数
		fi
	done
done



除特别注明外,本站所有文章均为视觉电子科技原创,转载请注明出处来自https://feelsight.cn/post/109.html

赞 (1

发表评论

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信