wie lange existiert das interface schon?
- johnbecker
- Beiträge: 323
- Registriert: 07.08.2004 13:43:13
wie lange existiert das interface schon?
hi,
würde gerne etwas basteln, dass mir anzeigt, wie lange eine verbindung (also z.b. ppp0) bereits existiert. habe leider keinen blassen, wie man sowas realisieren könnte... hat vllt jemand von euch eine passende idee oder vllt einen tipp dazu?
würde gerne etwas basteln, dass mir anzeigt, wie lange eine verbindung (also z.b. ppp0) bereits existiert. habe leider keinen blassen, wie man sowas realisieren könnte... hat vllt jemand von euch eine passende idee oder vllt einen tipp dazu?
- Snoopy
- Beiträge: 4297
- Registriert: 17.11.2003 18:26:56
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rh.- Pflz.
hi
teste mal das
danach
vielleicht magst du auch sowas wie unter [1] haben
[1] ftp://adsl4linux.de/pub/software/onlinecalc
teste mal das
Code: Alles auswählen
apt-get install pppstatus
Code: Alles auswählen
pppstatus -s 768
[1] ftp://adsl4linux.de/pub/software/onlinecalc
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Code: Alles auswählen
ps -efa | grep pppd | grep -v grep | tr -s " " | cut -d " " -f 5
Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
- johnbecker
- Beiträge: 323
- Registriert: 07.08.2004 13:43:13
danke, beides nicht schlecht.. wobei sich die kommandozeile etwas besser eignet, weil es möglichts überall klappen soll (ohne zusatz-tools). jetzt muss ich nur mal diese kommando-zeile verstehen und kann leider auch kein perl, aber die shell kann doch sicher auch irgendwie rechnen, oder? werd wohl doch mal en shellbuch kaufen müssen *g
hm. hatte das gestern gefunden und dachte eine lösung für mein problem gefunden zu haben, aber irgendwie funzt das bei mir alles nicht
zudem baue ich zusätzlich zu dem ppp0 interface noch einen vpn-tunnel zum rechenzentrum auf (full tunnel), so das das pppstatus auch nichts mehr anzeigen KANN.
darum habe ich mal was entsprechendes gescriptet, falls es jemand brauchen kann, poste ichs mal hier.
zuerst mal die datei /etc/ppp/if-up editiert.
zwischen "#main script...." und "run-parts....." habe ich eine zeile eingefügt:
dann folgendes script in ein beliebiges verzeichnis ablegen:
ausführbar machen:
nach dem nächsten reconnect (dann wird zum ersten mal die datei /var/log/ppp-start erstellt) kann man dann mit die uptime der verbindung herausfinden.
bevor hier jemand meckert wie umständlich oder lang oder so das ist: ist mein erstes bash-script, und ich wollte nur das es funktioniert, und nicht das rad neu erfinden.
falls es aber nicht läuft natürlich bitte melden!
zudem baue ich zusätzlich zu dem ppp0 interface noch einen vpn-tunnel zum rechenzentrum auf (full tunnel), so das das pppstatus auch nichts mehr anzeigen KANN.
darum habe ich mal was entsprechendes gescriptet, falls es jemand brauchen kann, poste ichs mal hier.
zuerst mal die datei /etc/ppp/if-up editiert.
zwischen "#main script...." und "run-parts....." habe ich eine zeile eingefügt:
Code: Alles auswählen
touch /var/log/ppp-start
Code: Alles auswählen
#! /bin/sh
echo PPPUp Script - Shows Uptime of PPP service
echo
# current date and time
y1=$(date "+%Y")
mo1=$(date "+%-m")
d1=$(date "+%-j")
day1=$(date "+%-d")
h1=$(date "+%-H")
mi1=$(date "+%-M")
s1=$(date "+%-S")
echo current date: $day1 $mo1 $y1 @ $h1:$mi1:$s1
# date of file /var/log/ppp-start (last change=last connect)
y2=$(date -r /var/log/ppp-start "+%Y")
mo2=$(date -r /var/log/ppp-start "+%-m")
d2=$(date -r /var/log/ppp-start "+%-j")
day2=$(date -r /var/log/ppp-start "+%-d")
h2=$(date -r /var/log/ppp-start "+%-H")
mi2=$(date -r /var/log/ppp-start "+%-M")
s2=$(date -r /var/log/ppp-start "+%-S")
echo last reconnect: $day2 $mo2 $y2 @ $h2:$mi2:$s2
# calc all differences and calc all the time spans
s=$[s1 - s2]
if [ "$s1" -lt "$s2" ]
then
s=$[s + 60]
mi2=$[mi2 + 1]
fi
mi=$[mi1 - mi2]
if [ "$mi1" -lt "$mi2" ]
then
mi=$[mi + 60]
h2=$[h2 + 1]
fi
h=$[h1 - h2]
if [ "$h1" -lt "$h2" ]
then
h=$[h + 24]
d2=$[d2 + 1]
fi
d=$[d1 - d2]
if [ "$d1" -lt "$d2" ]
then
d=$[d + 365]
y2=$[y2 + 1]
fi
y=$[y1 - y2]
d=$[d + y * 365]
# time of connection (what you were searching for)
echo
echo Total Uptime of PPP:
echo Days: $d Hours: $h Minutes: $mi Seconds: $s
echo
Code: Alles auswählen
chmod +x+x+x pppup
Code: Alles auswählen
./pppup
bevor hier jemand meckert wie umständlich oder lang oder so das ist: ist mein erstes bash-script, und ich wollte nur das es funktioniert, und nicht das rad neu erfinden.
falls es aber nicht läuft natürlich bitte melden!
Hey danke, klappt alles super.
Ich hab noch n PHP Script gebastelt das die Connectionuptime auf einer Webseite ausgibt:
$output ist die Ausgabe in einem Array, ihr könnt dann auch nur beliebige Zeilen ausgeben (mit $output[zeile]).
Ich hab die Ausgabe bei meinem Script ein bisschen verändert, kann sein, dass ihr mehr als 12 Zeilen in der for-Schleife ausgeben müsst ($x<=12;).
Bis dann,
Flix
Ich hab noch n PHP Script gebastelt das die Connectionuptime auf einer Webseite ausgibt:
Code: Alles auswählen
<?
$cmd = "/usr/bin/pppup"; // Befehl der Ausgeführt werden soll
exec($cmd,$output,$rv); // ausführen
for($x=0;$x<=12;$x++) { // Ausgabe des Arrays
echo "$output[$x]<br>\n";
}
?>
Ich hab die Ausgabe bei meinem Script ein bisschen verändert, kann sein, dass ihr mehr als 12 Zeilen in der for-Schleife ausgeben müsst ($x<=12;).
Bis dann,
Flix