Skip to content

트래픽을 간단히 측정할수 있는 쉘스크립트

MintState November 20, 2008 at 12:38 PM Views 18928

트래픽을 간단히 측정할수 있는 쉘스크립트
 
서버를 운용하다보면 가끔씩 트래픽을 보고싶을 때가 있는데. 김정균님의 쉘스크립트를 수정한 것입니다. 김정균님 한테는 죄송.

실행 예 )
./transfer eth0
측정중입니다. 기다려주세요
수신(in) 1 kbyte/s
송신(out) 28 kbyte/s

#!/bin/sh
#
# Scripted by JoungKyun Kim
# 2001.2.15 http://www.oops.org
# This Script follows GPL2 License

if [ "$1" != "" ]; then
  # ethnet device
  ETH="$1:"
  CHECK=/proc/net/dev
  CAT=/bin/cat

  GREP="/bin/grep ${ETH}"
  SED="sed -e s/${ETH}//"
  UPTIME=/usr/bin/uptime

  # parcket user check
  set `${CAT} ${CHECK} | ${GREP} | ${SED}`

  # Transmit packet
  let "in1 = $1"
  let "out1 = $9"

  echo "측정중입니다. 기다려주세요"
  sleep 10

  set `${CAT} ${CHECK} | ${GREP} | ${SED}`

  let "in0 = $1"
  let "out0 = $9"

  let " in = ($in0 - $in1)/(10*1024)"
  let " out = ($out0 - $out1)/(10*1024)"
  echo "수신(in)    $in kbyte/s"
  echo "송신(out)  $out kbyte/s"


else
  echo "USAGE: $0 [ethernet device no]"
  echo "ex) ./$0 eth0"
fi

exit 0

---------------------------------------------------------------------
김정균님의 소스 첨부파일에서 확인하여 주세요

ftp://mirror.oops.org/pub/Linux/Source/chkbandwidth

[root@main Linux]# /usr/local/bin/chkbandwidth -h
chkbandwidth v1.0

사용법: /usr/local/bin/chkbandwidth [옵션]=[경로]
옵션  :
  -interface=device 측정할 ethernet interface [ 기본: eth0 ]
  -unit=byte        측정 단위 [ 기본: bit ]
  -sec=second       측정할 시간 간격 [ 기본: 1초 ]
  -roop=1           -sec 값씩 계속 측정 [ default: 0 ]

Attachments

Share X Facebook LINE QR code

0 comments

Be the first to comment.