当前位置: > shell编程 >

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

时间:2014-10-01 09:04来源:linux.it.net.cn 作者:it

通过ping命令自动定时检测主机状态的shell脚本。
代码如下:

复制代码代码示例:
#!/bin/bash
# ping /etc/hosts

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地址或网段中的主机。

 

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

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容