Chinaunix首页 | 论坛 | 博客
  • 博客访问: 877756
  • 博文数量: 339
  • 博客积分: 3151
  • 博客等级: 中校
  • 技术积分: 3425
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-10 14:47
文章分类

全部博文(339)

文章存档

2023年(43)

2022年(44)

2021年(3)

2020年(13)

2019年(39)

2018年(25)

2015年(2)

2014年(18)

2013年(12)

2012年(48)

2011年(79)

2010年(13)

分类: Python/Ruby

2023-03-03 10:50:59

原文地址:脚本实现监控网卡流量 作者:yuhuohu

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

点击(此处)折叠或打开

  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
阅读(279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~