Exec, Ifconfig ausgabe, Upload-volumen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeige
arbeiten
ausgabe
code
datei
erachten
funktion
funktioniert folgendes code
helfen
interface
jemand
lese
null
point
problem
router
verwendeten interfaces
volumen
wirkliches problem
-
Hallo
Ich habe mal wieder ein Problem mit der funktion exec.
Ich schreibe gerade testweise eine kleine statusanzeige für meinen Router.(ubuntu)
Dabei will ich eine anzeige mit Down und Up -Load traffic machen.
Da der Router per PPPOE verbunden ist, stellt dies kein wirkliches Problem dar. Mit der ausgabe "ifconfig ppp0" kann ich meine eigentschaften des für PPPOE verwendeten Interfaces sehen.
Hier ist einmal die Config meines ppp0 interfaces:
ppp0 Link encap:Point-to-Point Protocol inet addr:<geheim ;)> P-t-P:<auch geheim> Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:1008953 errors:0 dropped:0 overruns:0 frame:0 TX packets:645036 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:1357900122 (1.2 GB) TX bytes:51073740 (48.7 MB)
Hierbei steht RX bytes für den DOWNLOAD traffic.
TX bytes steht für den UPLOAD traffic.
Nun habe ich einmal angefangen. Ich lese also mit folgendem skript meine nDOWNload traffic aus:
<?php $down_traffic; exec("echo `/sbin/ifconfig ppp0 2> /dev/null | awk '/RX bytes:/ {print $2}' | sed 's/bytes://'`", $down_traffic); echo round($down_traffic[0]/(1024*1024), 2) ."(MB)"; ?>
So, das funktioniert einwandfrei; Ich bekomme in der php datei sauber meine downgeloadeten trafiic aufgelistet.
Nun dachte ich mir, ist das ja ganz einfach, Ersetze einfach das RX bei RX traffic durch das TX bei TX traffic
Nun sieht mein skript für das UPLOAD volumen folgendermaßen aus:
<?php $up_traffic; exec("echo `/sbin/ifconfig ppp0 2> /dev/null | awk '/TX bytes:/ {print $2}' | sed 's/bytes://'`", $up_traffic); echo round($up_traffic[0]/(1024*1024), 2) ."(MB)"; ?>
Nun ist mein Problem:
Ich bekomme auch bei dem upload volumen skript mein DOWNLOAD volumen angezeigt? -- Völlig komisch meines erachtens nach. Kennt jemand eine Lösung? bzw. kann mir denn jemand helfen?
Vielen dank schonmal, dass ihr euch die zeit nehmt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo rick1993,
das Problem liegt an awk. Es scheint zeilenweise zu arbeiten. Bei mir funktioniert folgendes:
Down: <?php $down_traffic; exec("/sbin/ifconfig ppp0 2> /dev/null | awk '/bytes/ {print $2}' | sed 's/bytes://'", $down_traffic); echo round($down_traffic[0]/(1024*1024), 2) ."(MB)"; ?> <br>Up: <?php $up_traffic; exec("/sbin/ifconfig ppp0 2> /dev/null | awk '/bytes/ {print $6}' | sed 's/bytes://'", $up_traffic); echo round($up_traffic[0]/(1024*1024), 2) ."(MB)"; ?>
Gruß
steffens -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage