查看计算机ping,通过ping命令检测主机的存活性

判断所有的业务系统中主机的存活性ping

问题描述:现在有一上线项目,用的环境为vsphere 虚拟化技术。由于不能随时判断各虚拟主机的存活性,保证业务系统的正常运行,现在需要编写一个脚本判断主机的存活性,将返回值与第三方短信平台进行对接

思路分析:

1、明确目的判断主机的存活性,可用ping 命令 ping各个虚拟机的IP进行判断

2、整个业务系统有多个虚拟IP,可用shell脚本中的for 循环

3、每隔一段时间执行循环一次,可用while循环 ,条件永远为真,时间间隔可用sleep

4、每个IP都ping 一定的次数,可在for循环中嵌套while循环

5、返回失败和成功的次数

6、最后进行判断,失败多少次,为异常

脚本编写

1.定义一个文件,用于存放业务系统中所有的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.执行查看结果

chmod +x jcp.sh

./jcp.sh address

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值