Linux Shell脚本实现批量PING测试

您所在的位置:网站首页 Linux批量执行脚本 Linux Shell脚本实现批量PING测试

Linux Shell脚本实现批量PING测试

2024-07-11 22:47| 来源: 网络整理| 查看: 265

Linux Shell脚本实现批量PING测试

需求:通过Linux服务器定时ping验证目标IP地址连通情况。目标IP地址以TXT文件方式存储在本地。生成的测试记录包含测试时间、目标IP地址、连通情况。

1、测试目的IP地址列表 39.156.66.18 203.119.129.109 111.30.164.236

image

2、批量PING脚本 #!/bin/bash # #获取当前时间 datetimevar=`date "+%Y-%m-%d %H:%M:%S"` #读取IP列表行数 lineNumber=`cat iplist.txt |wc -l` #设置计数参数 count=0 #循环读取IP并测试 for i in `cat ./iplist.txt` do #计数器 count=$((count+1)) #控制台打印当前进度 echo "${i} ${count}/${lineNumber}" #PING并保留丢包数 p=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'` #因为只PING一次,丢包数为0则表示成功,否则失败 if [ $p -eq 0 ] then echo "${datetimevar}|${i}|true" >> ./ipcheckdown.txt else echo "${datetimevar}|${i}|fail" >> ./ipcheckdown.txt fi done

image

3、设置脚本文件运行权限

chmod +x pingtest.shimage

4、执行脚本(回显执行进度)

./pingtest.shimage

5、查看结果

cat ipcheckdown.txtimage

6、添加定时任务,设置每分钟运行一次

crontab -e*/1 * * * * /root/pingtest.shimage

7、运行情况(是否显示与具体系统设置有关)

自动执行后系统提示“您在 /var/spool/mail/root 中有新邮件”image

查看结果image

8、备注

通过Windows系统编辑的文件在Linux中执行时,若由于文件格式问题导致报错,例如:(1)脚本字符格式异常:【/bin/bash^M: 坏的解释器: 没有那个文件或目录】(2)IP列表格式问题导致脚本读取IP异常:【:未知的名称或服务- 5 ./pingtest.sh第17行•••】(3)问题原因:在Windows下每一行结尾是nr,而Linux下则是n,所以才会有多出来的r。修改方式:使用指令 sed -i 's/\r$//' 文件名,将上面的指令会把文件中的r 替换成空白。

Yunxi.D2020-06-042020-06-10(追加)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3