首页 > 系统 > Linux > 正文

监控linux流量shell版

2024-06-28 14:32:56
字体:
来源:转载
供稿:网友

想要实时查看linux流量情况,又不想再去下第三方工具,可以直接写脚步运行!

系统:centos 6.5

原理:从/PRoc/net/dev中获取到流量情况,再通过换算并除以间隔时间来得到流量单位M

#------------------#Author:Administrator#Created:2015-04-10#------------------#!/bin/bash#使用方法usage(){  echo "useage: $0 ethname intervel"  exit 0}#网口配置if [ $# -gt 1 ];then  ethname=$1  num=`ifconfig|grep ${ethname}|wc -l`  if [ $num -gt 0 ];then   ethname=$1  else    echo "Can't find $ethname,Please Check"    exit 1  fifi#时间配置intervel=1if [ $# -gt 0 ]; then  interval=$2  test=`expr "$interval" /* 0`  if [ "$test" != "0" ]; then         echo "Invalid <interval> param '$interval' . It should be a integer number. Usage: $0 ethname intervel"        exit -1    fi  if [ $interval -lt 1 ]; then        echo "Invalid <interval> param '$interval' . It should be > 0 (seconds). Usage: $0 ethname intervel"        exit -1  fifi#函数判断if [ $# -ne 2 ]then usagefiecho "$0 is starting,Device is $1,Intervel is $2"echo -e "/n"typeset Rev old_Reveth=$1intervel=$2old_Rev=`cat /proc/net/dev|grep $eth| awk '{print $1}'| awk -F : '{print $2}'`old_Send=`cat /proc/net/dev|grep $eth|awk '{print $9}'`#echo "old_Rev is $old_Rev"#echo "Old_send is $old_Send"while true do sleep $intervel Rev=`cat /proc/net/dev|grep $eth|awk '{print $1}'|awk -F : '{print $2}'` Send=`cat /proc/net/dev|grep $eth|awk '{print $9}'`#echo "Rev is $Rev"#echo "Send is $Send" diff_1=`awk -v Rev=$Rev -v old_Rev=$old_Rev -v intervel=$intervel 'BEGIN{printf "Receive is %6.2f", ( Rev - old_Rev ) / 1024 / 1024 / intervel * 8}'` diff_2=`awk -v Send=$Send -v old_Send=$old_Send -v intervel=$intervel 'BEGIN{printf "Send is %6.2f", ( Send - old_Send ) / 1024 / 1024 / intervel * 8}'`  echo "`date +'%Y-%m-%d %H:%M:%S'` Speed: IN ${diff_1} mbps OUT ${diff_2} mbps" old_Rev=$Rev old_Send=$Senddone

 效果如下:

[root@localhost tools]# ./bandwidth.sh eth0 1 ./bandwith.sh is starting,Device is eth0,Intervel is 1Ctrl+C To Stop!2015-11-13 16:49:34 Speed: IN Receive is   0.02 mbps OUT Send is   0.01 mbps2015-11-13 16:49:35 Speed: IN Receive is   0.01 mbps OUT Send is   0.00 mbps2015-11-13 16:49:36 Speed: IN Receive is   0.01 mbps OUT Send is   0.00 mbps

 

如使用有问题,请联系:

362299908@QQ.com


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表