文章目的
用脚本程序读取网络接口的吞吐量并用统计图形表示出于项目需要,要将linux系统中各个网络接口的吞吐量实时显示,并以时间为横轴吞吐量为纵轴画出曲线图,从而便于分析给定时间段内各个接口的网络特性和状态。
预备知识
在linux系统中,网络接口上传和下载的吞吐量记录在/proc/net/dev 文件中,这个文件是根据网络状态实时更新的。利用grep命令可以读取指定文件中含有特定字符的一行利用cut命令结合grep可以选取一行中特定的字符打印出来再结合tee命令可以将终端命令行的打印信息重定向到txt或ods等文档*脚本程序类似于windows中的批处理文件,可以将各种命令集成到脚本中,并且可以加上判断、循环、选择等语句,具有偏自然语言、语法简单、无需编译、执行高效等优点。3.实现方法
有了以上的预备知识,就可以正式开始脚本程序的编写了。这里难点在于如何每隔一秒读取一次dev中的各个网络接口的吞吐量。一开始想到用crontab实现,可以设置想要的时间间隔,但是cron的技术实现有点复杂。后来想到在脚本里面用一个for循环,在每次循环中加一个sleep 1暂停指令执行一秒,这样不就实现了吗?!主要的程序代码如下:
怎样?是不是有论文中专业图表的感觉了,你也照着试试看吧!