码迷,mamicode.com
首页 > 系统相关 > 详细

编写shell脚本统计某个时间段内本机的流量

时间:2015-05-08 20:28:41      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:时间段   流量   统计   网卡   信息   shell脚本   


下面是我的wlan0网卡的输出信息,你可以使用ifconfig 或者 ifconfig | sed -n ‘/wlan0/,10p‘ 获取显示的信息的格式

wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  

          inet addr:172.29.164.251  Bcast:172.29.167.255  Mask:255.255.248.0

          inet6 addr: 2001:da8:c803:4a57:e190:606f:3155:9369/64 Scope:Global

          inet6 addr: fe80::6e71:d9ff:fe0b:27f6/64 Scope:Link

          inet6 addr: 2001:da8:c803:4a57:6e71:d9ff:fe0b:27f6/64 Scope:Global

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:1305 errors:0 dropped:0 overruns:0 frame:0

          TX packets:647 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:370741 (362.0 KiB)  TX bytes:117872 (115.1 KiB)


下面的脚本通过获取最后一行的RX、TX的信息,在两个时间点上获取,然后统计这一段时间内的总流量。

最后打印输出统计信息在屏幕上。

#!/bin/bash

#network traffic statistics

#Write by Ricardo.su 2015-04-30


TIME_RANGE=10


time=`date +%m"-"%d" "%k":"%M`


rx_point_1=`ifconfig wlan0 | grep [[:space:]]RX.*TX | awk ‘{print $2}‘ | cut -c7-`

tx_point_1=`ifconfig wlan0 | grep [[:space:]]RX.*TX | awk ‘{print $6}‘ | cut -c7-`


sleep $TIME_RANGE


rx_point_2=`ifconfig wlan0 | grep [[:space:]]RX.*TX | awk ‘{print $2}‘ | cut -c7-`

tx_point_2=`ifconfig wlan0 | grep [[:space:]]RX.*TX | awk ‘{print $6}‘ | cut -c7-`


rx_rs=$(((rx_point_2-rx_point_1)/1024))

tx_rs=$(((tx_point_2-tx_point_1)/1024))

echo "Date $time"

echo "Average Network Traffic in $TIME_RANGE s: RX $rx_rs KB TX $tx_rs KB"



编写shell脚本统计某个时间段内本机的流量

标签:时间段   流量   统计   网卡   信息   shell脚本   

原文地址:http://poollooq.blog.51cto.com/8663272/1649691

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!