[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Onlinevolumen messen



Am Donnerstag, den 29.01.2009, 16:29 +0100 schrieb Boris:
> Moin zusammen,
> 
> 
> gerade habe ich mir einen UMTS-Stick mit einem Volumentarif angeschafft.
> Nun suche ich nach einem möglichst komforablen Tool, um mein
> Onlinevolumen zu messen oder irgendwie anders ein Überschreiten des
> bezahlten Volumens zu verhindern. Was benutzt Ihr?

Ich habe mir vor Jahren zum ein Script zusammen gebastelt, damit ich
sehe wieviel Traffic verursacht wird und wann die Spitzenzeiten sind.

/etc/nettraffic.sh
-----
#!/bin/bash

NETSTAT="/var/run/NetTraffic"
NETLOG="/var/NetTraffic/"
INTERFACE="eth1"

if [ ! -d $NETLOG ] ; then
  mkdir $NETLOG
fi

RXNEW=`ifconfig $INTERFACE | grep 'RX bytes' | cut -d : -f 2 | cut -d '
' -f 1`
TXNEW=`ifconfig $INTERFACE | grep 'RX bytes' | cut -d : -f 3 | cut -d '
' -f 1`

if [ -e $NETSTAT ] ; then
  NETDAY=`cut -f1 -d';' $NETSTAT`
  RX=`cut -f2 -d';' $NETSTAT`
  TX=`cut -f3 -d';' $NETSTAT`
  if [ -z $RXNEW -a -z $TXNEW ] ; then
    if [ ! -e $NETLOG`date -u +%Y%m%d`.log ] ; then
      echo "24:00;not connected" >> $NETLOG$NETDAY.log
    fi
    echo "`date -u +%H:%M`;not connected" >> $NETLOG`date -u +%Y%m%
d`.log
    echo "`date -u +%Y%m%d`;0;0" > $NETSTAT
  else
    RXDIV=`echo $RXNEW - $RX | bc`
    TXDIV=`echo $TXNEW - $TX | bc`
    if [ `echo $RXDIV / 10 | bc` -lt 0 ] ; then
      RXDIV=`echo $RXDIV + 4294967295 | bc`
    fi
    if [ `echo $TXDIV / 10 | bc` -lt 0 ] ; then
      TXDIV=`echo $TXDIV + 4294967295 | bc`
    fi
    if [ ! -e $NETLOG`date -u +%Y%m%d`.log ] ; then
      echo "24:00;$RXDIV;$TXDIV" >> $NETLOG$NETDAY.log
    fi
    echo "`date -u +%H:%M`;$RXDIV;$TXDIV" >> $NETLOG`date -u +%Y%m%
d`.log
    echo "`date -u +%Y%m%d`;$RXNEW;$TXNEW" > $NETSTAT
  fi
else
  touch $NETLOG`date -u +%Y%m%d`.log
  echo "`date -u +%Y%m%d`;$RXNEW;$TXNEW" > $NETSTAT
fi

if [ $NETDAY != `date -u +%Y%m%d` ] ; then
  ln --force --symbolic $NETLOG`date -u +%Y%m%d`.log /Daten/i-net.log 
fi
-----

Dieses Script wird jede Minute von cron angestoßen.

Bin mir sicher, damit kannst du etwas für dich basteln.

> Grüße,
> 
> Boris

mfG Sascha


Reply to: