通过sleep延时操作监控网卡流量

这里获取网卡流量的方式是通过bash内的sleep命令来做延迟操作,相隔一秒的时间来截取两次流入流出流量的差来算出每秒流量流速,具体代码如下

#!/bin/bash
#author merci
########################################################################################
#####################################系统流量监控#######################################
########################################################################################

#获取开始入流量
InflowStart=`ifconfig eth1 | grep "RX bytes" | sed "s/RX bytes://" | awk '{print $1}'`
#获取开始出流量
OutflowStart=`ifconfig eth1 | grep "TX bytes" | sed "s/.*TX bytes://" | awk '{print $1}'`
#1s 延迟
sleep 1s
#获取结束入流量
InflowEnd=`ifconfig eth1 | grep "RX bytes" | sed "s/RX bytes://" | awk '{print $1}'`
#获取结束出流量
OutflowEnd=`ifconfig eth1 | grep "TX bytes" | sed "s/.*TX bytes://" | awk '{print $1}'`

Inflow=`awk 'BEGIN{printf "%d\n", '${InflowEnd}'-'${InflowStart}'}'`
Outflow=`awk 'BEGIN{printf "%d\n", '${OutflowEnd}'-'${OutflowStart}'}'`

echo -e "inflow:  `expr ${Inflow} / 1000`KB"
echo -e "outflow: `expr ${Outflow} / 1000`KB"


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/491.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。