Re: Traffic-accounting ?
Markus Boas <ryven@gmx.de> wrote:
> Ich habe ein Programm für einen einfachen Trafficcounter gesucht und
> hab am Ende mit ifconfig awk und etwas Bash selbst was gestrickt. Da
Ich habe mir da auch mal selbst was gescriptet (läuft bei mir
allerdings auf einem einzelnen Rechner, müsste also entsprechend
angepasst werden).
hth
Ulrich
#!/usr/bin/perl -w
$up = 0; # sum of uploads
$down=0; # sum of downloads
open(DOWN, "/var/log/net_download") or die "Die Datei fr Downloads wurde
nicht gefunden: $!\n"; foreach ( <DOWN> ) {
chomp $_;
$down += $_;
}
close DOWN;
open(DOWN_AKTUELL, "/sys/class/net/eth0/statistics/rx_bytes") or die
"Die Datei fr AKTUELLE-Downloads wurde nicht gefunden: $!\n"; foreach (
<DOWN_AKTUELL> ) { chomp $_;
$down += $_;
}
close DOWN_AKTUELL;
open(UP, "/var/log/net_upload") or die "Die Datei fr Uploads wurde nicht
gefunden: $!\n"; foreach ( <UP> ) {
chomp $_;
$up += $_;
}
close UP;
open(UP_AKTUELL, "/sys/class/net/eth0/statistics/tx_bytes") or die "Die
Datei fr AKTUELLE-Uploads wurde nicht gefunden: $!\n"; foreach (
<UP_AKTUELL> ) { chomp $_;
$up += $_;
}
close UP_AKTUELL;
$down = $down/1048576;
$up = $up/1048576;
print ("Die monatliche Downloadmenge beträgt: ");
if ( $down < 100 ) {
print " ";
if ( $down < 10 ) {
print " ";
}
}
printf (" %.1f MB \n", $down);
print ("Die monatliche Uploadmenge beträgt: ");
if ( $up < 100 ) {
print " ";
if ( $up < 10 ) {
print " ";
}
}
printf (" %.1f MB", $up);
print "\n";
# EOF
Bemerkung:
die /var/log/net_* werden monatlich rotiert, so dass ich dann auch
Monats-Statistiken anzeigen lassen kann (die mir cron per Mail
zuschickt)
Reply to: