查看计算机ping,通过ping命令检测主机的存活性
搜索熱詞
判斷所有的業(yè)務(wù)系統(tǒng)中主機(jī)的存活性ping
問題描述:現(xiàn)在有一上線項(xiàng)目,用的環(huán)境為vsphere 虛擬化技術(shù)。由于不能隨時(shí)判斷各虛擬主機(jī)的存活性,保證業(yè)務(wù)系統(tǒng)的正常運(yùn)行,現(xiàn)在需要編寫一個(gè)腳本判斷主機(jī)的存活性,將返回值與第三方短信平臺(tái)進(jìn)行對(duì)接
思路分析:
1、明確目的判斷主機(jī)的存活性,可用ping 命令 ping各個(gè)虛擬機(jī)的IP進(jìn)行判斷
2、整個(gè)業(yè)務(wù)系統(tǒng)有多個(gè)虛擬IP,可用shell腳本中的for 循環(huán)
3、每隔一段時(shí)間執(zhí)行循環(huán)一次,可用while循環(huán) ,條件永遠(yuǎn)為真,時(shí)間間隔可用sleep
4、每個(gè)IP都ping 一定的次數(shù),可在for循環(huán)中嵌套while循環(huán)
5、返回失敗和成功的次數(shù)
6、最后進(jìn)行判斷,失敗多少次,為異常
腳本編寫
1.定義一個(gè)文件,用于存放業(yè)務(wù)系統(tǒng)中所有的IP
vim address
192.168.31.6
192.168.31.7
……
2.編寫腳本
vim jcp.sh
#!/bin/bash
while true
DATE=$(date "+%Y-%m-%d %H:%M:%S")
do
for address in $(cat $1)
do
echo -en "ping $address……"
i=1
Pingtimes=10
Result=5
SuccessTimes=0
FailureTimes=0
while (($i <= $Pingtimes))
do
ping -c 5 -i 0.5 -t 5 $address > /dev/null 2>&1
if [ "$?" -eq "0" ];
then
SuccessTimes=$(($SuccessTimes+1))
echo "OK" && echo "$DATE $address is up " >> address.txt
else
FailureTimes=$(($FailureTimes+1))
echo "Failed" && echo "$DATE $address is down " >> address.txt
fi
i=$(($i+1))
done
echo "successtimes is $SuccessTimes"
echo "failuretimes is $FailureTimes"
if [ $FailureTimes -ge $Result ];
then
echo "$address is down"
else
echo "$address is up"
fi
done
sleep 10s;
done
3.執(zhí)行查看結(jié)果
chmod +x jcp.sh
./jcp.sh address
總結(jié)
以上是編程之家為你收集整理的通過ping命令檢測(cè)主機(jī)的存活性全部?jī)?nèi)容,希望文章能夠幫你解決通過ping命令檢測(cè)主機(jī)的存活性所遇到的程序開發(fā)問題。
如果覺得編程之家網(wǎng)站內(nèi)容還不錯(cuò),歡迎將編程之家網(wǎng)站推薦給程序員好友。
本圖文內(nèi)容來源于網(wǎng)友網(wǎng)絡(luò)收集整理提供,作為學(xué)習(xí)參考使用,版權(quán)屬于原作者。
如您喜歡尋找一群志同道合、互幫互助的學(xué)習(xí)伙伴,可以點(diǎn)擊下方鏈接加入:
編程之家官方1群
編程之家官方2群
編程之家官方3群
編程之家官方4群
總結(jié)
以上是生活随笔為你收集整理的查看计算机ping,通过ping命令检测主机的存活性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java空值转datetime,解决Ja
- 下一篇: java给图片坐标描点,记录一下, ca