定时自动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)
通过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) |