do
if [ `ping -c 1 192.168.0.2|grep 100%|wc -l` -ne 0 ]then
echo diaoxian_192.168.0.2 >>log2
fi
done
#!/bin/bashwhile :
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1
while read line
do
> ${TMP}
ping -c ${PACKETTIMES} -i ${INTERVAL} -s ${PACKETSIZE} $line >> ${TMP}
DELAY=`grep rtt ${TMP} | awk '{print$4}' |awk -F "/" '{print$1"/"$2"/"$3}'`
LOST=`grep loss ${TMP} |awk -F "%" '{print$1"%"}'|awk '{print $NF}' `
DATE=`date +"%Y-%m-%d %H:%M:%S"`
if [ -z "${DELAY}" ]
then
DELAY=none
fi
echo "################################################" >> ${OUTPUT}
echo "${DATE} ${HOSTIP} > ${line} the min/avg/max is ${DELAY} and packets lost ${LOST}" >> ${OUTPUT}/ping.txt
rm -rf ${TMP}
done<${IPFILE}
sleep ${SLEEPTIME}
done
= =缺点是 运行时候 要加个 ./脚本 & 后台执行
Linux ping命令用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法:
ping
[-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数:
-d 使用Socket的SO_DEBUG功能。
-c<完成次数>设置完成要求回应的次数。
-f 极限检测。
-i<间隔秒数>指定收发信息的间隔时间。
-l<网络界面>使用指定的网络接口送出数据包。
-l<前置载入>设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p<范本样式>设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s<数据包大小>设置数据包的大小。
-t<存活数值>设置存活数值TTL的大小。
-v 详细显示指令的执行过程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)