定时自动ping主机的shell脚本(图文)

发布时间:2020-05-27编辑:脚本学堂
本文介绍下,一个用于定时ping主机的shell脚本,有需要的朋友参考下。

通过linuxjishu/14094.html target=_blank class=infotextkey>ping命令自动定时检测主机状态的shell/ target=_blank class=infotextkey>shell脚本
代码如下:

复制代码 代码示例:
#!/bin/bash
# ping /etc/hosts
# edit by www.jb200.com
Curdate=`date +%d%m%y`
CurPath='/tmp'
trap "delfile" 2
function delfile(){
if rm -f $CurPath/result.$Curdate ;then
  echo "Del result.$Curdate ok"
  exit 1
else
  echo "program error~please check!"
  exit 1
fi
}
for Loop in `cat /etc/hosts|grep -v "^#"|cut -f1`
do
 ping -s 1000 -c1 $Loop>$CurPath/result.$Curdate
 echo "Now,read?[y|n]"
 read NFS
 case $NFS in
 y|Y)
   Vue=`cat /tmp/result.$Curdate|sed -n '2p'`
   if [ "$Vue" = "" ];then
     echo "$Loop shutdown!"
   else
     echo $Vue
   fi
    ;;
 n|N)
    ;;
 esac
rm -f $CurPath/result.$Curdate
done

代码说明:
以上代码主要是ping /etc/hosts中的主机,用来检测存活状态,并保存检测结果。
此脚本,每ping一个主机前会给出提示,只有输入y,确认后,才会进行下一步的检测。

有兴趣的朋友,可以稍加修改,即可检测任意IP地址或网段中的主机。

调用示例,如下图:

自动定时ping主机

通过实例来看,误差不小,可能是根据当前的网络环境有关。