在 Linux 上一个可以批量 ping 地址的小脚本

发布时间 2023-04-18 10:44:05作者: NagaResst

前不久想起来公司制作报告的时候需要 ping 一批 URL 然后记录每个 URL 的延迟。于是心血来潮想写个小脚本用来实现这个功能,顺便检测一下自己 shell 脚本能到什么水平,于是写了这么一个小东西,前前后后改了三次。

用法就是脚本同级目录里准备一个叫 url 的 TXT。里面写你要 ping 的地址,一行一个。脚本运行完了之后会生成一个文件名带日期的日志。

	#!/bin/bash
	#先获取一共有多少个url需要进行ping
	total="`wc -l url.txt|awk '{print $1}'`"
	#开始准备进行轮询
	times=1
	echo "总数有${total}个,现在开始施工!"
	while (($times<=$total))
	do
	url=`sed -n "${times}p" url.txt`
	echo "正在执行第${times}个"
	test1=`ping ${url} -c4|grep rtt|awk '{print $4}'|awk -F"/" '{print $3}'`
	echo ${test1}
	printf "`date +%T` ${url}\t\t ${test1}ms \n" >> ping`date +%F`.log
	let "times++"
	done
	echo "施工完毕"

当然脚本你也可以自己修改一下,存放地址的文件名与格式随便改。只要能匹配上就行。运行的时候不需要回显也可以注释掉。