查看linux server网络流量的shell脚本

之前写过一个查看linux服务器当前流量的小脚本,很简单,但能直观的给我们一些信息

#!/bin/sh

###统计10s内的平均流量,以Mb为单位
if [ "$1" = "" ];then
   echo -e "\n      use interface_name after the script,like \"$0 eth0\"...\n"
   exit -1
fi

echo -e "\n      start monitoring the $1,press \"ctrl+c\" to stop"
echo ----------------------------------------------------------
#ls  /etc/sysconfig/network-scripts/|grep ifcfg|cut -d "-" -f 2

while true
   do

   RX_bytes=`cat /proc/net/dev|grep "$1"|awk ‘{print $1}‘|cut -d ":" -f 2`
   TX_bytes=`cat /proc/net/dev|grep "$1"|awk ‘{print $9}‘`

   sleep 10

   RX_bytes_later=`cat /proc/net/dev|grep "$1"|awk ‘{print $1}‘|cut -d ":" -f 2`
   TX_bytes_later=`cat /proc/net/dev|grep "$1"|awk ‘{print $9}‘`

   ###Mb=B*8/1024/1024
   speed_RX=`echo "scale=2;($RX_bytes_later - $RX_bytes)*8/1024/1024/10"|bc`
   speed_TX=`echo "scale=2;($TX_bytes_later - $TX_bytes)*8/1024/1024/10"|bc`

   printf "%-3s %-3.1f %-10s %-4s %-3.1f %-4s\n" IN: $speed_RX Mb/s OUT: $speed_TX Mb/s
   
done

使用效果如下图

时间: 2024-11-09 23:14:24

查看linux server网络流量的shell脚本的相关文章

查看linux server网络I/0流量的shell脚本

查看linux server网络流量的shell脚本 上传下载大量文件的时候,可以使用这个脚本来实现监控! #!/bin/sh   ###统计5s内的平均流量,以Mb为单位 if [ "$1" = "" ];then    echo -e "\n      use interface_name after the script,like \"$0 eth0\"...\n"    exit -1 fi   echo -e &qu

网络流量监控shell脚本

网络收发包计数记录在 /proc/net/dev 文件中, 要取得流量, 只需要读取里面的内容两次, 然后相减, 再除以时间间隔即可. #!/bin/bash #Usage1,record in file: netmonitor <MinKB> <Interval> <FileName>#Usage2,print on terminal: netmonitor <MinKB> <Interval>#Record the value great t

linux c程序中获取shell脚本输出的实现方法

linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部

Linux下网络流量实时监控工具

Linux下网络流量实时监控工具大全 在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面不方便,个人喜欢随手在某台服务器上输入一个命令,查看网卡即时流量.百度了一下,发现有这么几种方法,现对此类软件进行了一个总结.一.iptraf软件   rhel的iso里有包含,我公司的系统,并没有默认安装,它功能强大,可以按照协议,网卡等进行分析.1.1 iptraf安装源码安装wget ftp:

Linux之进程管理及Shell脚本

使用!来调用过往命令 !! 重复执行上一条指令 !a 重复执行上一条以a为首的指令 !nubmer 重复执行上一条在history表中记录号码为number的指令 !-number重复执行前第number条指令 ailas abc='cd xxxxxxxxxxx/xxxxxxxx/xxxxxxxxxxxxx' unalias abc " "将一串字符当成字符串来看,可以转译特殊字符 ' '将一串字符当成字符串来看,无法转译特殊字符 ·能够返回命令执行的结果 echo `uname -a

查看Linux服务器网络状态(转)

转载自http://blog.chinaunix.net/uid-26413552-id-3202366.html 查看Linux服务器网络状态 ifconfig 用来显示所有网络接口的详细情况的,如:ip地址,子网掩码等. ethx是以太网网卡的名称. 配置文件在/etc/sysconfig/network-scripts/ifcfg-eth0中 DEVICE="eth0" HWADDR="00:0C:29:68:C0:8C" NM_CONTROLLED=&quo

Linux自动安装JDK的shell脚本

Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: $ ./install-jdk.sh B的IP or: $ ./install-jdk.sh "B的IP" "JDK的URI" 就可以在机器B上安装JDK.jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即可

Linux问题:Crontab 执行shell脚本时相对路径的问题,不能识别。

问题描述:在linux中的直接执行shell脚本可以用相对路径找到文件,但是如果通过计划任务crontab执行shell脚本时,却不能通过相对路径找到文件! 例子: shell脚本文件代码~ #! /bin/sh Logfile = './1.txt'; date >> $Logfile; echo '------'; 直接执行shell脚本,可以在1.txt文件中看到执行结果,但是如果用crontab计划任务去执行,却在1.txt中看不到执行结果.换成绝对路径就可以,代码如下 #! /bin

Linux 防止rm -rf 误删Shell脚本

#!/bin/bash #:set ff=unix #:set nobomb #-*- coding:utf-8 -*- ###################################################################### ## Filename:     Trash.py ## ## Copyright (C) 2014.6 ## Author:        [email protected]@qq.com ## ## Description:   S