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

Linux下ping命令可以设置每次ping的时间间隔,

具体选项参数如下:

1、-b n:测试与网关IP的连通性

2、-c n:执行指定次数n的ping命令

3、-i n:设定间隔几秒发送一个网络封包给一个地址,预设值是一秒一次

4、-s 字节数:执行发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

想批量ping,建议编写与一个bash脚本(网上搜索一下基本语法),然后执行这个脚本就可以实现了。

希望我的回答有帮助到你。

#!/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

= =缺点是 运行时候 要加个 ./脚本 & 后台执行


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

原文地址: http://outofmemory.cn/yw/8399828.html

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

发表评论

登录后才能评论

评论列表(0条)

保存