필요해서 찾아보니 kldp에 김정균님이 만들어놓으신 스크립트가 있어 올려본다.
duration 시간을 넣어서 해당 초당 트래픽을 재도록 수정해봤다.
duration 시간을 넣어서 해당 초당 트래픽을 재도록 수정해봤다.
#!/bin/sh
#
# Scripted by JoungKyun Kim
# 2001.2.15 http://www.oops.org
# This Script follows GPL2 License
#
# 2003. 1. 15 Modified to trap CTRL-c by kyong
# 2003. 1. 23 Added SECONDS arg, Kbps unit, minutes conversion and
# some cleanups by kyong
# 2010.05. 24 Modified Duration loop
IF="$1"
CHECK=/proc/net/dev
KMULTI=1024
#KMULTI=1000
start() {
[ -f $CHECK ] || { echo "\"$CHECK\" does not exist." ; exit ; }
fgrep -qs $IF: $CHECK || { echo "DEVICE \"$IF\" does not exist." ; exit ; }
set `cat $CHECK | grep $IF: | cut -f2- -d:`
IN0=$1
OUT0=$9
}
stop() {
local MSEC=$SECONDS
set `cat $CHECK | grep $IF: | cut -f2- -d:`
IN1=$1
OUT1=$9
let "IN = ($IN1 - $IN0) / ($MSEC * $KMULTI)"
let "OUT = ($OUT1 - $OUT0) / ($MSEC * $KMULTI)"
if [ $MSEC -lt 60 ] ;
then
MTIME="$MSEC second(s)"
else
let "MMIN = $MSEC / 60"
let "MSEC = $MSEC - ($MMIN * 60)"
MTIME="$MMIN minute(s) $MSEC second(s)"
fi
if [ $KMULTI -eq 1024 ] ;
then
KUNIT="KiB/s"
elif [ $KMULTI -eq 1000 ] ;
then
KUNIT="KB/s"
else
KUNIT="?"
fi
#echo
#echo "During $MTIME"
echo "Inbound : $IN $KUNIT (`let "IN=$IN*8"; echo $IN` Kbps)"
echo "Outbound : $OUT $KUNIT (`let "OUT=$OUT*8"; echo $OUT` Kbps)"
echo
}
usage() {
echo "Usage : `basename "$0"` DEVICE [Duration Sec]"
echo "Ex. : `basename "$0"` eth0"
echo " `basename "$0"` eth0 10"
}
if [ $# = 0 -o $# -gt 2 ] ;
then
usage ;
exit
elif [ $# = 1 ] ;
then
start ;
trap 'stop;' SIGINT SIGQUIT
echo "Ctrl-c to abort"
sleep 365d
exit 0
else
while :
do
echo "$1 Interface [During $2 sec]"
start ;
unset SECONDS
SECONDS=$2
sleep $2
stop ;
done
fi
#
# Scripted by JoungKyun Kim
# 2001.2.15 http://www.oops.org
# This Script follows GPL2 License
#
# 2003. 1. 15 Modified to trap CTRL-c by kyong
# 2003. 1. 23 Added SECONDS arg, Kbps unit, minutes conversion and
# some cleanups by kyong
# 2010.05. 24 Modified Duration loop
IF="$1"
CHECK=/proc/net/dev
KMULTI=1024
#KMULTI=1000
start() {
[ -f $CHECK ] || { echo "\"$CHECK\" does not exist." ; exit ; }
fgrep -qs $IF: $CHECK || { echo "DEVICE \"$IF\" does not exist." ; exit ; }
set `cat $CHECK | grep $IF: | cut -f2- -d:`
IN0=$1
OUT0=$9
}
stop() {
local MSEC=$SECONDS
set `cat $CHECK | grep $IF: | cut -f2- -d:`
IN1=$1
OUT1=$9
let "IN = ($IN1 - $IN0) / ($MSEC * $KMULTI)"
let "OUT = ($OUT1 - $OUT0) / ($MSEC * $KMULTI)"
if [ $MSEC -lt 60 ] ;
then
MTIME="$MSEC second(s)"
else
let "MMIN = $MSEC / 60"
let "MSEC = $MSEC - ($MMIN * 60)"
MTIME="$MMIN minute(s) $MSEC second(s)"
fi
if [ $KMULTI -eq 1024 ] ;
then
KUNIT="KiB/s"
elif [ $KMULTI -eq 1000 ] ;
then
KUNIT="KB/s"
else
KUNIT="?"
fi
#echo
#echo "During $MTIME"
echo "Inbound : $IN $KUNIT (`let "IN=$IN*8"; echo $IN` Kbps)"
echo "Outbound : $OUT $KUNIT (`let "OUT=$OUT*8"; echo $OUT` Kbps)"
echo
}
usage() {
echo "Usage : `basename "$0"` DEVICE [Duration Sec]"
echo "Ex. : `basename "$0"` eth0"
echo " `basename "$0"` eth0 10"
}
if [ $# = 0 -o $# -gt 2 ] ;
then
usage ;
exit
elif [ $# = 1 ] ;
then
start ;
trap 'stop;' SIGINT SIGQUIT
echo "Ctrl-c to abort"
sleep 365d
exit 0
else
while :
do
echo "$1 Interface [During $2 sec]"
start ;
unset SECONDS
SECONDS=$2
sleep $2
stop ;
done
fi