IT技术博客大学习 共学习 共进步

通过shell 脚本查看服务器的时时流量

DBA Blog 2012-11-11 23:49:00 浏览 4,923 次

vi network.sh

#!/bin/bash
 
  
ETH=$1
ETH=${ETH:-eth0}
IP=`ifconfig $ETH|awk -F '[ :]+' '/inet addr/{print $4}'`
  
while true;do
        let I+=1
        NOW=`date +"%F %T"`
        TX1=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $9}'`
        RX1=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $4}'`
        sleep 1
        TX2=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $9}'`
        RX2=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $4}'`
  
        let TX=(TX2-TX1)/1024
        let RX=(RX2-RX1)/1024
        let TX_TOTAL+=$TX
        let RX_TOTAL+=$RX
        let TX_AVERAGE=TX_TOTAL/${I}
        let RX_AVERAGE=RX_TOTAL/${I}
  
        clear
  
        printf "%10s\t%20s\n" "Device $ETH [$IP]" "$NOW"
        echo "============================================================="
        printf "%10s\t%20s\t%20s\n" CURRENT: in:${RX}KB/s out:${TX}KB/s
        printf "%10s\t%20s\t%20s\n" AVERAGE: in:${RX_AVERAGE}KB/s out:${TX_AVERAGE}KB/s
        printf "%10s\t%20s\t%20s\n" TOTAL: in:${RX_TOTAL}KB out:${TX_TOTAL}KB
done

   使用方法:

   ./network.sh eht0

   Device eth0 [192.168.1.54]       2012-11-06 17:11:09

   =============================================================

    CURRENT:                 in:28KB/s              out:38KB/s

    AVERAGE:                 in:48KB/s              out:72KB/s

    TOTAL:                  in:679KB              out:1020KB

建议继续学习

  1. Linux下三种常用的流量监控软件对比 (阅读 9,983)
  2. 脚本利用SNMP mib/oid分析网卡流量 (阅读 7,764)
  3. nicstat 网络流量统计利器 (阅读 7,324)
  4. cacti+apache+php+mysql+rrdtool搭建流量监控平台 (阅读 6,664)
  5. 网络流量监控软件vnStat (阅读 4,803)
  6. 你的服务器能承受多大流量 (阅读 4,462)
  7. 在CGI中通过Etag和Cache-Control来控制流量,访问量及生效时间 (阅读 4,204)
  8. linux单机根据ip查看流量 (阅读 4,201)
  9. 小文件优化之道-文件成组 (阅读 3,844)
  10. 怎样监测竞争对手网站的流量 (阅读 3,284)