Über Netzwerkkarte eingehende Datenmenge "messen"
Über Netzwerkkarte eingehende Datenmenge "messen"
Schönen guten Morgen
Gibt es eine Möglichkeit zu messen, wieviele MB an Daten über meine Netzwerkkarte reinkommen? Gibt es da irgendein Programm zu oder fällt jemandem ein Shell-Skript ein?
Ach ja: Es geht hier nicht um die Messung von "Geschwindigkeiten". Ich will zum Schluss eine Angabe wie: An diesem Tag gingen 60 MB ein...
Gibt es eine Möglichkeit zu messen, wieviele MB an Daten über meine Netzwerkkarte reinkommen? Gibt es da irgendein Programm zu oder fällt jemandem ein Shell-Skript ein?
Ach ja: Es geht hier nicht um die Messung von "Geschwindigkeiten". Ich will zum Schluss eine Angabe wie: An diesem Tag gingen 60 MB ein...
Datenmenge
jo, mit "ifconfig <device>" wirft er die Daten aus, die seit Aktivierung der Karte rein und raus sind, dann noch ein wenig greppen und schon fertig ... ich mache das über ein kleines Script, das die Daten vor dem automatischen Shutdown abends in eine Datei schreibt
leider komme ich da momentan nicht ran, da ich gerade das Bruttosozialprodukt steigere ... ich poste Dir das heute Nachmittag, OK?
Gruß
Torsten
leider komme ich da momentan nicht ran, da ich gerade das Bruttosozialprodukt steigere ... ich poste Dir das heute Nachmittag, OK?
Gruß
Torsten
@thorsten
hi
ja bitte posten würde mich auch interessieren
mfg
arno
ja bitte posten würde mich auch interessieren
mfg
arno
[root@host]# cd /pub
[root@host]# more beer
[root@host]# more beer
Datenmenge
so, da bin ich nun ....
bei mir läuft das über ein Script, jeweils kurz bevor der Rechner am Abend runterfährt, gesteuert über einen Cron-Eintrag, also z.B. 22.58 Uhr Script ausführen und 22.59 Uhr Shutdown, man kann das aber sicher auch in ein Script einbauen, wenn z.B. die Internetverbindung getrennt wird,oder wie man will
hier nun das Script:
>>> schnipp <<<
#!/bin/bash
Datum=`date "+am %d.%m.%Y"`
Wert=`ifconfig eth0 | grep bytes`
echo $Wert $Datum>> online.txt
>>> schnapp <<<
zwei Variablen (Datum und Wert) werden gefüllt, die eine mit dem Datum (was auch sonst) und die andere mit der Ausgabe grep bytes (die Zeile, die ein bytes enthält) aus dem Befehl ifconfig Netzwerkkarte; echo schreibt das in die Datei online.txt (da das Script bei mir unter Root läuft, liegt die Datei unter /root; die Daten werden zeilenweise angefügt
das sieht dann so aus:
RX bytes:31431750 (29.9 MiB) TX bytes:26673792 (25.4 MiB) am 15.05.2004
RX bytes:32278851 (30.7 MiB) TX bytes:9012545 (8.5 MiB) am 16.05.2004
RX bytes:27920356 (26.6 MiB) TX bytes:5978187 (5.7 MiB) am 17.05.2004
RX bytes:8079525 (7.7 MiB) TX bytes:4300095 (4.1 MiB) am 18.05.2004
ich hatte mal vor, das ganze noch ein wenig "kultivierter" zu gestalten, um vielleicht gleich eine Textdatei zu erhalten, in der die einzelnen Werte mit ";" getrennt stehen (dann kann gleich 'ne Datenbank hinterhängen und und und .... dazu habe ich den Spaß mal noch mit awk einigen Tests unterzogen
man kann ja mal versuchen:
Befehl: ifconfig eth1 | grep bytes
bringt die Ausgabe: RX bytes:2527335 (2.4 MiB) TX bytes:7066405 (6.7 MiB)
Befehl: ifconfig eth1 | grep bytes | awk -F: '{print $2" "$3}'
bringt folgende Ausgabe: 2527335 (2.4 MiB) TX bytes 7066405 (6.7 MiB)
Befehl: ifconfig eth1 | grep bytes | awk -F: '{print $2" "$3}' | awk '{print $1";"$6}'
bringt folgende Ausgabe: 2527335;7066405
wenn man das jetzt noch mit dem Script mischt, kann man die Werte und das Datum auch richtig schön machen und in der Form Kb-Ausgang; Kb-Eingang; Datum wegspeichern, Datenbank rüber und fertig --> zusammenziehen der Werte erfolgt eh erst in der Datenbank ... leider bin ich dem nicht mehr weiter nachgegangen, da mein Provider mein Downloadvolumen verdoppelte und mir reichten bereits 2GB im Monat
viel Spaß damit und probier es einfach mal aus
Gruß und schönen Feiertag morgen
Torsten
bei mir läuft das über ein Script, jeweils kurz bevor der Rechner am Abend runterfährt, gesteuert über einen Cron-Eintrag, also z.B. 22.58 Uhr Script ausführen und 22.59 Uhr Shutdown, man kann das aber sicher auch in ein Script einbauen, wenn z.B. die Internetverbindung getrennt wird,oder wie man will
hier nun das Script:
>>> schnipp <<<
#!/bin/bash
Datum=`date "+am %d.%m.%Y"`
Wert=`ifconfig eth0 | grep bytes`
echo $Wert $Datum>> online.txt
>>> schnapp <<<
zwei Variablen (Datum und Wert) werden gefüllt, die eine mit dem Datum (was auch sonst) und die andere mit der Ausgabe grep bytes (die Zeile, die ein bytes enthält) aus dem Befehl ifconfig Netzwerkkarte; echo schreibt das in die Datei online.txt (da das Script bei mir unter Root läuft, liegt die Datei unter /root; die Daten werden zeilenweise angefügt
das sieht dann so aus:
RX bytes:31431750 (29.9 MiB) TX bytes:26673792 (25.4 MiB) am 15.05.2004
RX bytes:32278851 (30.7 MiB) TX bytes:9012545 (8.5 MiB) am 16.05.2004
RX bytes:27920356 (26.6 MiB) TX bytes:5978187 (5.7 MiB) am 17.05.2004
RX bytes:8079525 (7.7 MiB) TX bytes:4300095 (4.1 MiB) am 18.05.2004
ich hatte mal vor, das ganze noch ein wenig "kultivierter" zu gestalten, um vielleicht gleich eine Textdatei zu erhalten, in der die einzelnen Werte mit ";" getrennt stehen (dann kann gleich 'ne Datenbank hinterhängen und und und .... dazu habe ich den Spaß mal noch mit awk einigen Tests unterzogen
man kann ja mal versuchen:
Befehl: ifconfig eth1 | grep bytes
bringt die Ausgabe: RX bytes:2527335 (2.4 MiB) TX bytes:7066405 (6.7 MiB)
Befehl: ifconfig eth1 | grep bytes | awk -F: '{print $2" "$3}'
bringt folgende Ausgabe: 2527335 (2.4 MiB) TX bytes 7066405 (6.7 MiB)
Befehl: ifconfig eth1 | grep bytes | awk -F: '{print $2" "$3}' | awk '{print $1";"$6}'
bringt folgende Ausgabe: 2527335;7066405
wenn man das jetzt noch mit dem Script mischt, kann man die Werte und das Datum auch richtig schön machen und in der Form Kb-Ausgang; Kb-Eingang; Datum wegspeichern, Datenbank rüber und fertig --> zusammenziehen der Werte erfolgt eh erst in der Datenbank ... leider bin ich dem nicht mehr weiter nachgegangen, da mein Provider mein Downloadvolumen verdoppelte und mir reichten bereits 2GB im Monat
viel Spaß damit und probier es einfach mal aus
Gruß und schönen Feiertag morgen
Torsten
-
- Posts: 537
- Joined: 07. Dec 2003 21:07
- Location: Schweiz