最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本實現(xiàn)的單機(jī)流量統(tǒng)計功能

 更新時間:2014年11月28日 15:50:29   投稿:junjie  
這篇文章主要介紹了Shell腳本實現(xiàn)的單機(jī)流量統(tǒng)計功能,本文給出實現(xiàn)代碼和使用方法,及運行結(jié)果,需要的朋友可以參考下

在網(wǎng)上看到這個單機(jī)流量的腳本,挺不錯的。

復(fù)制代碼 代碼如下:

#!/bin/sh
usage(){
echo “Usage: $0 [-i INTERFACE] [-s INTERVAL] [-c COUNT]”
echo
echo “-i INTERFACE”
echo “    The interface to monitor, default is eth0.”
echo “-s INTERVAL”
echo “    The time to wait in seconds between measurements, default is 3 seconds.”
echo “-c COUNT”
echo “    The number of times to measure, default is 10 times.”
exit 3
}
readargs(){
while [ "$#" -gt 0 ] ; do
  case “$1″ in
   -i)
    if [ "$2" ] ; then
     interface=”$2″
     shift ; shift
    else
     echo “Missing a value for $1.”
     echo
     shift
     usage
    fi
   ;;
   -s)
    if [ "$2" ] ; then
     sleep=”$2″
     shift ; shift
    else
     echo “Missing a value for $1.”
     echo
     shift
     usage
    fi
   ;;
   -c)
    if [ "$2" ] ; then
     counter=”$2″
     shift ; shift
    else
     echo “Missing a value for $1.”
     echo
     shift
     usage
    fi
   ;;
   *)
    echo “Unknown option $1.”
    echo
    shift
    usage
   ;;
  esac
done
}
checkargs(){
if [ ! "$interface" ] ; then
  interface=”eth0″
fi
if [ ! "$sleep" ] ; then
  sleep=”3″
fi
if [ ! "$counter" ] ; then
  counter=”10″
fi
}
printrxbytes(){
/sbin/ifconfig “$interface” | grep “RX bytes” | cut -d: -f2 | awk ‘{ print $1 }'
}
printtxbytes(){
/sbin/ifconfig “$interface” | grep “TX bytes” | cut -d: -f3 | awk ‘{ print $1 }'
}
bytestohumanreadable(){
multiplier=”0″
number=”$1″
while [ "$number" -ge 1024 ] ; do
  multiplier=$(($multiplier+1))
  number=$(($number/1024))
done
case “$multiplier” in
  1)
   echo “$number Kb”
  ;;
  2)
   echo “$number Mb”
  ;;
  3)
   echo “$number Gb”
  ;;
  4)
   echo “$number Tb”
  ;;
  *)
   echo “$1 b”
  ;;
esac
}
 
printresults(){
while [ "$counter" -ge 0 ] ; do
  counter=$(($counter – 1))
  if [ "$rxbytes" ] ; then
   oldrxbytes=”$rxbytes”
   oldtxbytes=”$txbytes”
  fi
  rxbytes=$(printrxbytes)
  txbytes=$(printtxbytes)
  if [ "$oldrxbytes" -a "$rxbytes" -a "$oldtxbytes" -a "$txbytes" ] ; then
   echo “$(/bin/date +%Y%m%d-%H%M%S) RXbytes = $(bytestohumanreadable $(($rxbytes – $oldrxbytes))) TXbytes = $(bytestohumanreadable $(($txbytes – $oldtxbytes)))”
  else
   echo “Monitoring $interface every $sleep seconds. (RXbyte total = $(bytestohumanreadable $rxbytes) TXbytes total = $(bytestohumanreadable $txbytes))”
  fi
  sleep “$sleep”
done
}
readargs “$@”
checkargs
printresults

測試如下:

每三秒的流量,總輸出999行,可以輸出到文件里,其中:前面為時間,Rx Packets 是接收數(shù)據(jù)包,即下載,Tx Packets 是發(fā)送數(shù)據(jù)包,即上傳.

復(fù)制代碼 代碼如下:

[root@host]#sh t.sh -c 999  Monitoring eth0 every 3 seconds. (RXbyte total = 6 Tb TXbytes total = 5 Tb)
20101105-201539 RXbytes = 126 Kb TXbytes = 658 Kb
20101105-201542 RXbytes = 87 Kb TXbytes = 487 Kb
20101105-201545 RXbytes = 159 Kb TXbytes = 668 Kb
20101105-201548 RXbytes = 107 Kb TXbytes = 725 Kb
20101105-201551 RXbytes = 110 Kb TXbytes = 704 Kb
20101105-201554 RXbytes = 90 Kb TXbytes = 726 Kb
20101105-201558 RXbytes = 100 Kb TXbytes = 850 Kb
20101105-201601 RXbytes = 102 Kb TXbytes = 703 Kb
20101105-201604 RXbytes = 168 Kb TXbytes = 693 Kb
20101105-201607 RXbytes = 105 Kb TXbytes = 730 Kb
20101105-201610 RXbytes = 133 Kb TXbytes = 711 Kb
20101105-201613 RXbytes = 431 Kb TXbytes = 703 Kb
20101105-201616 RXbytes = 84 Kb TXbytes = 527 Kb
20101105-201619 RXbytes = 239 Kb TXbytes = 825 Kb
20101105-201622 RXbytes = 117 Kb TXbytes = 801 Kb
20101105-201625 RXbytes = 99 Kb TXbytes = 913 Kb
20101105-201628 RXbytes = 89 Kb TXbytes = 322 Kb
20101105-201631 RXbytes = 63 Kb TXbytes = 73 Kb
20101105-201634 RXbytes = 84 Kb TXbytes = 191 Kb
20101105-201637 RXbytes = 174 Kb TXbytes = 481 Kb
20101105-201640 RXbytes = 120 Kb TXbytes = 383 Kb
20101105-201643 RXbytes = 94 Kb TXbytes = 496 Kb
20101105-201646 RXbytes = 108 Kb TXbytes = 340 Kb
20101105-201649 RXbytes = 91 Kb TXbytes = 639 Kb
20101105-201652 RXbytes = 106 Kb TXbytes = 629 Kb
20101105-201655 RXbytes = 125 Kb TXbytes = 496 Kb
20101105-201658 RXbytes = 90 Kb TXbytes = 537 Kb
20101105-201701 RXbytes = 114 Kb TXbytes = 641 Kb

相關(guān)文章

  • Shell腳本中$符號的嵌套使用方法小結(jié)

    Shell腳本中$符號的嵌套使用方法小結(jié)

    在編寫Shell腳本時,通過嵌套使用$符號,間接獲取變量或表達(dá)式的值的具體方法,文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-05-05
  • Shell中比較大小簡潔總結(jié)

    Shell中比較大小簡潔總結(jié)

    這篇文章主要介紹了Shell中比較大小簡潔總結(jié),本文總結(jié)了在shell中比較變量大小的一些方法,需要的朋友可以參考下
    2014-12-12
  • Shell腳本實現(xiàn)獲取網(wǎng)頁快照并生成縮略圖

    Shell腳本實現(xiàn)獲取網(wǎng)頁快照并生成縮略圖

    這篇文章主要介紹了Shell腳本實現(xiàn)獲取網(wǎng)頁快照并生成縮略圖,本文獲取網(wǎng)頁快照使用phantomjs、生成縮略圖使用ImageMagick,需要的朋友可以參考下
    2015-02-02
  • 查看Linux系統(tǒng)重啟的四種基本命令詳解

    查看Linux系統(tǒng)重啟的四種基本命令詳解

    Linux 重啟命令是指在Linux系統(tǒng)中,通過指定命令來啟動或重啟系統(tǒng),在日常使用中,我們經(jīng)常需要對系統(tǒng)進(jìn)行重啟操作,如更新軟件、修改系統(tǒng)配置等,因此,熟練掌握Linux重啟命令是非常必要的,所以本文給大家介紹了查看Linux系統(tǒng)重啟的四種基本命令,需要的朋友可以參考下
    2024-04-04
  • Linux通過命令壓縮與解壓縮的方法| tar, tar.gz, tar.bz2

    Linux通過命令壓縮與解壓縮的方法| tar, tar.gz, tar.bz2

    這篇文章主要介紹了Linux通過命令壓縮與解壓縮的方法| tar, tar.gz, tar.bz2,內(nèi)容囊括了打包、壓縮、解壓縮的基本概念,最后通過實例講解,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-04-04
  • 關(guān)于shell的幾個不為人知卻十分有用的命令分享

    關(guān)于shell的幾個不為人知卻十分有用的命令分享

    這篇文章主要介紹了關(guān)于shell的幾個不為人知卻十分有用的命令,需要的朋友可以參考下
    2016-03-03
  • Shell函數(shù)的7種用法介紹

    Shell函數(shù)的7種用法介紹

    這篇文章主要介紹了Shell函數(shù)的7種用法介紹,本文講解了在shell文件內(nèi)部定義函數(shù)并引用、返回值、函數(shù)輸出、向函數(shù)傳遞參數(shù)、全局變量與局部變量等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Linux下一些常用的Shell腳本整理

    Linux下一些常用的Shell腳本整理

    這篇文章主要介紹了Linux下一些常用的Shell腳本整理,很基礎(chǔ),印象不深的話隨看隨記:)需要的朋友可以參考下
    2015-07-07
  • shell腳本無密碼登錄 expect的使用方法詳解

    shell腳本無密碼登錄 expect的使用方法詳解

    這篇文章主要介紹了shell腳本無密碼登錄 expect的使用方法詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Linux中執(zhí)行shell腳本的4種方法總結(jié)

    Linux中執(zhí)行shell腳本的4種方法總結(jié)

    這篇文章主要介紹了Linux中執(zhí)行shell腳本的4種方法總結(jié),即在Linux中運行shell腳本的4種方法,需要的朋友可以參考下
    2014-08-08

最新評論

鄂温| 闽清县| 郧西县| 永济市| 绥棱县| 宁都县| 郴州市| 东乡族自治县| 安泽县| 北安市| 浦东新区| 射阳县| 饶阳县| 柞水县| 罗城| 内丘县| 祁连县| 罗定市| 铁力市| 南涧| 宜兰市| 凤凰县| 邓州市| 集安市| 乌兰县| 兴国县| 玛纳斯县| 康马县| 湖北省| 呼玛县| 遂宁市| 土默特左旗| 化隆| 淄博市| 绥阳县| 慈溪市| 绥江县| 车险| 长乐市| 大埔县| 花莲市|