shell脚本执行ping,telnet命令分析返回

发布于 2021-11-16 20:01:02 字数 2125 浏览 923 评论 2

#!/bin/bash

#各采集机ip,port,gathername,vendorname,earlyserverstate(上次检测状态1:通 2:不通),lateserverstate(这次检测状态1:通 2:不通)
ip1="000.00.000.000" port1="8080" gathername1="上海" vendorname1="HW" earlyserverstate1="1" nowserverstate1="1"



#ping,telnet然后写入到服务器状态
serverPT()
{
PINGresult=`ping -c 1 $1 | grep "alive"`
if [ "X${PINGresult}" != "X" ];then
	echo ping $1 ok
	TELNETresult=`(sleep 5;) | telnet $1 $2 | grep "Connected"`
		if [ "X${TELNETresult}" != "X" ];then
			echo telnet $1 $2 ok
    else
    	$3="2"
    fi
else
	$3="2"
fi
}

str=""
#根据服务器状态写入文本
serverWrite()
{
if [ $6="2" ];then
	if [ $6 != $5 ];then
		str="$str n自动检测到IP地址:"$1"网络出现问题,请检查。(该设备属地为"$3 "设备厂家为"$4")"
	else
		#从上次到现在仍未PT通 传给oneservercheck
		oneServerCheck $1 $2 $3 $4 $5 $6
	fi
else
echo "109"
fi
}


#得到从上次到现在仍然不通的网络
oneServerCheck()
{
PINGresult=`ping -c 1 $1 | grep "alive"`
if [ "X${PINGresult}" != "X" ];then
		TELNETresult=`(sleep 5;) | telnet $1 $2 | grep "Connected"`
		if [ "X${TELNETresult}" != "X" ];then
			#echo telnet $1 $2 ok
			$6 = "1"
			#服务器主机名称,系统时间(邮件内容)
			echo "电信宽带测试应用主机" > /CityPT/cpt.txt
			date >> //CityPT/cpt.txt
			echo $1"网络已恢复正常。(该设备属地为"$3 "设备厂家为"$4")" >> /CityPT/cpt.txt
			SetMail.sh
		else
		echo "345"
		fi
else
echo "300"		
fi
}



#服务器主机名称,系统时间(邮件内容)
echo "电信宽带测试应用主机" > /CityPT/cpt.txt
date >> /CityPT/cpt.txt

#运行
serverPT $ip1 $port1 $nowserverstate1

serverWrite $ip1 $port1 $gathername1 $vendorname1 $earlyserverstate1 $nowserverstate1


if [ str != "" ];then
SetMail.sh
else
echo "QQ"
fi

 

过程就是有多个地址

有一个ping telnet方法

然后挨个把地址端口什么的传给它

如果通了  不予理会

不通就给 现状态赋值2

如果原状态是1  现状态是2  那么就写入内容到 cpt文件中  (因为邮件的内容是读取这个文件)

然后判断如果原状态也为2的话就不调用setmail(也就是发邮件的程序,因为这里考虑到一开始它不通的时候已经发过了就不发送了)

现在问题有2个 一个就是我在用memo判断的地方肯定是错了 因为现在cpt文件里面只有str 3个字母

还有一个问题就是其实我开始的打算是 如果某个地址仍然不通 那么我就新生成个脚本  也就是用脚本生成追踪脚本  每个5分钟就ping telnet这个地址  一直到通了 发封邮件然后 自己删除自己什么的

但是现在这个简单的功能我还没有实现 所以 我打算后面再做那个

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秉烛思 2021-11-18 00:51:16

我在我的服务器上搭建好了 nagios但是什么脚本也没有用 只是最简单的搭建成功了 因为都是英文的 我有点看不懂 而且我的那个nagios拓扑图那一页显示还不正常 我原来提过nagios的问题 希望您可以帮我看看 我看您的nagios水平相当高

夜血缘 2021-11-17 02:03:59

你说下怎么看吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文