Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3847698
  • 博文数量: 421
  • 博客积分: 685
  • 博客等级: 上将
  • 技术积分: 3670
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-18 14:20
文章分类

全部博文(421)

文章存档

2012年(5)

2011年(52)

2010年(83)

2009年(67)

2008年(65)

2007年(149)

分类: Python/Ruby

2012-03-22 14:32:17

脚本实现监控网络流量速率的代码:

点击(此处)折叠或打开

  1. #!/bin/bash
  2.     if [ -n "$1" ]; then
  3.     eth_name=$1
  4.     else
  5.     eth_name="eth0"
  6.     fi
  7.     i=0
  8.     send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
  9.     recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`
  10.     send_n=$send_o
  11.     recv_n=$recv_o
  12.     while [ $i -le 100000 ]; do
  13.     send_l=$send_n
  14.     recv_l=$recv_n
  15.     sleep 1
  16.     send_n=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`
  17.     recv_n=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`
  18.     i=`expr $i + 1`
  19.     send_r=`expr $send_n - $send_l`
  20.     recv_r=`expr $recv_n - $recv_l`
  21.     total_r=`expr $send_r + $recv_r`
  22.     send_ra=`expr \( $send_n - $send_o \) / $i`
  23.     recv_ra=`expr \( $recv_n - $recv_o \) / $i`
  24.     total_ra=`expr $send_ra + $recv_ra`
  25.     sendn=`ifconfig $eth_name | grep bytes | awk -F \( '{print $3}' | awk -F \) '{print $1}'`
  26.     recvn=`ifconfig $eth_name | grep bytes | awk -F \( '{print $2}' | awk -F \) '{print $1}'`
  27.     clear
  28.     echo "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec"
  29.     echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec"
  30.     echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn"
  31.     done

默认是etho0,可带网卡名运行:
caltraffic bon1
阅读(2842) | 评论(0) | 转发(2) |
1

上一篇:sed高级应用

下一篇:没有了

给主人留下些什么吧!~~