不懂博客—所知甚少因而建立此博客记录不懂知识;学习、关注、体验互联网。

linux下用脚本监测网卡流量

来源:未知 作者:admin 时间:2010-10-21 【 打印

很多情况下查看linux服务器网络当前带宽都需要用到类似vnstat,ifstat,bmon,nload,iftop这些软件来查看,但是比较严谨的管理员都会遵守一个原则,不是需要用到的服务或者软件都不装,使系统最小化,运行状态最佳化.

所以就有了下面这个linux下用脚本监测网卡流量的脚本:

 

#!/bin/bash
#linux下用脚本监测网卡流量 by:fcbu.com
echo -n "请输入需要查询的网卡的接口:"
read eth
echo "你要查询的网卡接口为"$eth
echo -n "输入需要等到的时间(秒):"
read sec
echo "你计算的是"$sec"秒内的平均流量"
infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumfirst=$(($infirst $outfirst))
sleep $sec"s"
inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumend=$(($inend $outend))
sum=$(($sumend-$sumfirst))
ksum=$(($sum/8/1024))
echo $sec"秒内总流量为:"$sum"bytes" "=" $ksum"M"
aver=$(($sum/$sec))
kaver=$(($aver/8/1024))
echo "平均流量为:"$aver"bytes/sec" "=" $kaver"M/s"

 

将上面shell代码保存为netview.sh

然后修改权限 chmod 755 netview.sh

需要查看带宽的时候执行这个脚本就行了,如下:

 

[root@localhost shellscript]# ./netview.sh
请输入需要查询的网卡的接口:eth0
你要查询的网卡接口为eth0
输入需要等到的时间(秒):10
你计算的是10秒内的平均流量
10秒内总流量为:3543373bytes = 432M
平均流量为:354337bytes/sec = 43M/s

时间是可以随意调整的,这个脚本有两个作用,一个是可以看你定义的时间段内总流量是多少,也可以看这个时间段内的平均流量是多少.

代码很简单,大家可以随意使用或者拿去修改扩充功能.

分类目录: 电脑维修 > linux > | 标签:linux 脚本 流量
上一篇:vps架设ssh翻墙服务器(代理服务器)
下一篇:nload实时查看linux服务器网络流量的工具

验证码:点击输入框获取验证码

评论列表

查看全部0条评论