编写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"

时间: 2024-10-23 00:48:33

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

跟着老刘学《Linux就该这么学》第五天--编写Shell脚本

编写Shell脚本可以将Shell终端解释器当作人与计算机硬件之间的"翻译官",它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环.分支等高级编程语言才有的控制结构特性.要想正确使用Shell中的这些功能特性,准确下达命令尤为重要.Shell脚本命令的工作方式有两种:交互式和批处理. 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命

编写Java脚本统计工程代码总行数

在新公司工作将近一年了,一直独自一人负责服务端集群的运维和代码的编写.不知不觉从一个Project发展到了七八个Project. 看着越来越多的代码,今天突然想统计一下一共写了多少代码.[这里只统计完全由自己编写的代码,因为项目是基于Springboot的,所以直接统计 src目录下所有文件的行数即可] 首先,编写几个工具类. FolderFind.java import java.io.File; import java.util.ArrayList; import java.util.Lis

编写shell脚本不停地telnet一个ip或域名,并输出结果到文件中

编写shell脚本不停地telnet一个域名,并输出结果到文件中 [[email protected] ~]# cat telnetscript.sh #!/bin/bash #检查是否在root用户下执行此脚本(0代表root用户的权限) if [ $(id -u) != "0" ];then echo "请在root用户下运行脚本" exit 1 fi #定义输出目录 DIR="/var/log/" TIME="$(date +%Y

[转帖]编写shell脚本所需的语法和示例

编写shell脚本所需的语法和示例 https://blog.csdn.net/CSDN___LYY/article/details/100584638 在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls.cd.pwd等等.总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动.暂停.停止程序的运行或对计算机进行控制. shell 是

编写shell脚本和执行

这次的学习内容: 认识shell,如何编写shell脚本和执行Shell 其实就是一个解释执行命令的程序,所谓shell编程其实就是用一定的语法将各种基本的命令组合起来,让shell程序去解释执行.如果对windows的dos有了解,可以这样理解,其实shell脚本文件和.bat批处理文件差不多.然而linux下的shell比起windows的dos强大很多,呵呵.为了安全起见,创建一个普通的账号进行学习]# useradd cnetsa]# passwd cnetsa然后使用 cnetsa 这

Linux系统编写shell脚本批量创建和删除用户

一.编写shell脚本批量添加用户 实现方法:判断用户是否存在,存在则返回错误提示,同时判断用户文件是否存在,不存在则退出 1.创建添加用户脚本 [[email protected] ~]# vim useradd.sh #!/bin/bashif [ $# -eq 0 ];then        echo "你没有输入任何文件!"        exit 1fi if [ ! -f $1 ];then        echo "输入有误!"        exit

python编写shell脚本详细讲解

今天需要编写一个shell脚本实现App自动生成的功能,需要处理HTTP REST请求,解析JSON,处理文件,执行命令等,本来想用shell搞定,但感觉比较麻烦,还是用python吧,虽然以前用Python都是在树莓派上玩的,多尝试一种方法总是好的. 虽然我受linux的影响甚深,但是对于*nix 里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没有任何美感可言.其次是sh脚本的处理能力还是比较弱的,在文本处理.XML处理还有网络

Ubuntu系统编写shell脚本程序一次安装多个软件包

编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置. 1.shell脚本程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 2.当编辑好脚本后,还必须使其可执行. 使脚本可执行: chmod +x filename 3.然后,您可以通过输入: ./filename 来执行您的脚本. 如下: 下面是我安装NS3之前,安装NS3依赖的多个软件包: 1.在vi中编

shell脚本统计多个CPU利用率

本节主要内容:top命令统计CPU的利用率 一,问题分析 MySQL在Linux下是多线程的,而且只能将多个线程分布到一个CPU上.因此,使用小型服务器,或者PC SERVER,多个CPU利用率并不高.基本上有1~2个在使用. 本节分享下统计CPU的利用率的方法,供大家学习参考. 相关阅读:查看Linux系统资源占用(top.free.uptime)top命令显示内容的详细解释 二,shell脚本实现 1.输入 top  -bn1  (b控制输出格式为文本格式,非交互格式) [[email pr