目标场景
需要对设备做环境适应性试验,在-40度和85度下对设备进行打流试验,准备了4台设备,但是只有一个串口(ttl转232),项目工程师给的测试脚本为:
1#设备
ifconfig eth0 192.168.1.100
iperf3 -s
2#设备
ifconfig eth0 192.168.1.111
iperf3 -c 192.168.1.100 -i 1 -t 60
常温试验
发现1#设备执行命令后,拔掉串口在插上发现使用ps查看不到iperf3的进程,怀疑需要放置到后台运行,所以使用iperf3 -s & 后,再执行ps可看见这个进程,问题1解决;
使用2#设备的脚本执行,发现执行一段时间后,进程停止了,经查iperf3的帮助如下:
-i 1 代表发送1s的数据,每一秒显示一次;
-t 60 测试60秒
所以以上脚本只能执行60秒,如果想要不间断运行24小时,就需要编写脚本循环实现,脚本如下:
#!/bin/bash
while true
do
echo "********************test net start ***********************************" > /dev/console
iperf3 -c 192.168.1.100 -i -60
sleep 1s
done
注意保存后,一定要给脚本可执行属性 (chmod +x)
执行后,如下图:
可见,执行完60s就继续循环下一轮,达到我们想要的目的;
反思
1.一定要验证,不要默认别人说的写的是正确的,实践是检验真理的唯一标准;
2.一定要动脑子,懒人推动社会进步,要敢于想怎么偷懒,这样才能更出效率;太勤快了上面的轮训测试脚本就不会有了,同时结果也可能丢数据,而发现不了异常的情况;
平时的过程中,你遇到同样的问题和困扰了吗,不论抠 1 还是2 使劲吧,电脑抠烂为止,嘿嘿!