shell脚本计算Linux网卡流量
本文介绍了计算linux网卡流量的一个shell脚本,一个通过固定间隔时间获取ifconfig eth0 的字节值而计算出网卡流量的方法,有需要的朋友参考下。
使用shell脚本计算Linux网卡流量,方法中最关键点:
ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'
通过ifconfig eth0|grep bytes 得到输入输出的流量。
/@rac2=>dd2$ifconfig eth0|grep bytes
RX bytes:1638005313300 (1.4 TiB) TX bytes:3408060482049 (3.0 TiB)
再将结果通过awk 得出所要的字段值。
固定时间得到这些值,在写个循环计算一下就能得到网卡流量。
完整代码:
#!/bin/bash
if [ -n "$1" ]; then
eth_name=$1
else
eth_name="eth0"
fi
if [ -n "$2" ]; then
all_time=$2
else
all_time=900
fi i=0 v1_b=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
v2_b=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'` v1_t=$v1_b
v2_t=$v2_b #echo "$v1_t" while [ $i -le $all_time ]; do sleep 1 v1_c=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
#echo "$v1_c"
v2_c=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'` i=`expr $i + 1` v1_rate=`expr \( $v1_c - $v1_t \) / 1024`
v2_rate=`expr \( $v2_c - $v2_t \) / 1024` v_rate=`expr \( $v1_rate + $v2_rate \) ` v1_t=$v1_c
v2_t=$v2_c
v1_avg_rate=`expr \( $v1_c - $v1_b \) / $i / 1024`
v2_avg_rate=`expr \( $v2_c - $v2_b \) / $i / 1024`
v_avg_rate=`expr \( $v1_avg_rate + $v2_avg_rate \) ` clear
echo "========================================================="
echo "`date`"
echo "send: $v1_rate KB/s accept: $v2_rate KB/s netrate: $v_rate KB/s avg send: $v1_avg_rate KB/s avg accept: $v2_avg_rate KB/s avg rate: $v_avg_rate KB/s"
echo "=========================================================="
done
shell脚本计算Linux网卡流量的更多相关文章
- Shell脚本查看linux系统性能瓶颈(转)
Shell脚本查看linux系统性能瓶颈(转自:http://blog.51cto.com/lizhenliang/1687612) [root@test ~]# cat show_sys_info. ...
- shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)
shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换-> ...
- 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式 ...
- Shell脚本对Linux进行文件校验
Shell脚本对Linux进行文件校验 一.需求 有客户等保需求对文件一致性进行校验,想到利用md5sum工具,因此写脚本来对文件进行自定义扫描,后期可以利用其进行校验,快速校验文件发现变更的文件,一 ...
- shell 脚本在linux中的应用
shell脚本在linux中应用广泛,之前一直选用python写脚本来进行一些文件操作,但是最后发现shell脚本非常方便,所以特意来学习下皮毛,便于提高自己效率 定义变量 1 country=&qu ...
- Linux之Shell脚本计算命令行的所有和
问题:设计一个Shell脚本:求命令行上所有整数和 Shell代码: 调用add.sh脚本结果:
- Shell脚本 | 性能测试之启动流量
安卓应用的流量统计有多种方式,点击「阅读原文」可以看到一篇别人写的文章,关于安卓流量数据的获取,写的挺全的,列举了几种不同方式的优劣.(见文末参考链接) 今天我要分享的是通过脚本一键获取应用的启动流量 ...
- [shell脚本]在Linux终端可视化输出表格数据
最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指 ...
- 使用Shell脚本对Linux系统和进程资源进行监控
ShellLinux脚本 摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.本文我们以Bash做为实例总结了使用Shell对系统和进 ...
随机推荐
- vue的逆向传值(子传父)
逆向传值:子组件传值给父组件叫做逆向传值 (是不v欸允许的,必须经过事件触发才能传值) 逆向传值步骤: 1.要传值必须先抛出,在接收 语法: this.$emit("event" ...
- Mysql - date、datetime、timestamp 的区别
date.datetime 的区别 顾名思义,date 日期,datetime 日期时间,所以 date 是 datetime 的日期部分 MySQL 以 YYYY-MM-DD hh:mm:ss 格式 ...
- Failed to start connector [Connector[HTTP/1.1-8080]]
错误提示:Failed to start connector [Connector[HTTP/1.1-8080]]错误原因:Tomcat端口被占用解决方案(window下):1.cmd打开命令控制台2 ...
- [第二章]c++学习笔记4(复制构造函数)
性质 (1)只有一个参数,即被同类对象的引用. 注 起作用的三种情况 注 常量引用参数
- CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...
- sui Mobile 试玩
.... 突然就用上这东西还不熟悉就写了一个页面而已 <a class="open-popup button pull-right create-actions" id=&q ...
- [loj3462]括号路径
对于两条边$(x_{1},y,c)$和$(x_{2},y,c)$,不难发现$x_{1}$与$x_{2}$完全等价,因此可以合并 重复此过程,合并之后用启发式合并来合并边集(注意自环也可以参与合并,即$ ...
- 面向对象中static的理解(1)
class 对象名字{ data members; static data members; function members; static function members; } 每创建一个对象, ...
- 洛谷 P5279 - [ZJOI2019]麻将(dp 套 dp)
洛谷题面传送门 一道 dp 套 dp 的 immortal tea 首先考虑如何判断一套牌是否已经胡牌了,考虑 \(dp\).我们考虑将所有牌按权值大小从大到小排成一列,那我们设 \(dp_ ...
- Atcoder Regular Contest 117 D - Miracle Tree(分析性质+构造)
Atcoder 题面传送门 笑死,阴间语文作业到现在还没写完,为了在这个点保持精神,我只好来颓篇题解辣 我们考虑探究一下怎么最小化 \(\max\limits_{i=1}^nE_i\),我们假设 \( ...