linux shell脚本写一个PING主机命令

linux shell脚本写一个PING主机命令,第1张

while true

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/bash

while :

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 详细显示指令的执行过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8953134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存