条件ping的取值,报警阈值:多少次ping失败才算主机downping的频率,多少秒重新走一次脚本
hostSurvival.sh
#!/bin/bash
if [ $1 ]; then
for (( i=1;i<=2;i++ )); do
# ping通则设置 变量值为T 否则为F == 每ping一次则停顿2秒
if ping -c 2 $1 &>/dev/null; then
export ping_count"$i"='T'
else
export ping_count"$i"='F'
fi
sleep 2
done
# 未传参数则直接退出,并抛出提示
else
echo "$0:Usage sh hostSurvival.sh [HostName|IP]"
exit 1
fi
if [ "$ping_count1" == "$ping_count2" ] && [ "$ping_count1" == 'T' ]; then
echo "$1 is up"
else
echo "$1 is down"
fi
# 删除上面for循环export的变量,但是测试的时候,unset不用也会自动删除,不知为什么
for (( i=1;i<=2;i++ )); do
unset "ping_count$i"
done
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_39651356/article/details/123000461
内容来源于网络,如有侵权,请联系作者删除!