通过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
代码说明: 有兴趣的朋友,可以稍加修改,即可检测任意IP地址或网段中的主机。
通过实例来看,误差不小,可能是根据当前的网络环境有关。 (责任编辑:IT) |