当前位置:首页 > linux > 正文内容

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

admin4年前 (2020-02-04)linux4896
有时候服务器经常死机,但是死机我们又没办法知道,这时候需要一个自动脚本来帮助我们监控服务器是否运行
在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

“shell ping监控服务器是否死机/方糖通知” 的相关文章

树莓花生壳内网映射官方教程失败解决

相信很多pi有都有外网访问树莓派上的服务的需求,但是现在公网ip成了稀缺资源,多数用户都是局域网ip。今天回家发现自己的公网ip也被改成内网了,再也不能随心所欲的访问树莓派了。之前在微信服务器教程的帖子里,很多pi友都会问我,没有公网ip怎么办,我都会推介他们使用花生壳内网版,但是我自己也不能确定是...

centos 7 更改网络设置

centos 7 更改网络设置

使用交互式界面来配置网络。在终端中使用命令: $nmtui...

树莓派raspbian系统更换国内源

树莓派新版系统更换了专门优化过的桌面环境PIXEL,正好手头有个闲置的TF卡决定刷上新版系统玩玩。下载刷系统过程很多教程页很简单。插卡,上电开机,释放卡上的剩余空间都很正常,因为树莓派官方源访问很慢下一步就是换成国内源,以前一直在用中科大的源,于是开始按照以前的方法修改/etc/apt/sou...

Centos7 修改SSH 端口

修改/etc/ssh/sshd_config vi /etc/ssh/sshd_config #Port 22 //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉 Port 33378 //下面添加这一行 修改firewall配...

使用Docker制作一个CentOS7容器并安装python3

使用Docker制作一个CentOS7容器并安装python3

1.下载centos镜像 docker pull centos:7 2.创建并启动容器 docker run -d --name centos7 --privileged=true -p 10022:22 -p 10080:80 -h testh...

发表评论

访客

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