ping Ausgabe wenn keine Antwort script

Riseofdead

Lt. Commander
Registriert
Jan. 2013
Beiträge
1.030
Hallo

Ein Freund von mir bekommt ein neues Internet welches er in der 14 Tage Testphase so gut wie möglich testen will. Dazu bastle ich gerade ein "Messgerät". Also einen Raspberry Pi. Ich habe bereits speedtest-cli (einem Python Script welches alle 15 Minuten einen Speedtest macht damit man sieht welche Bandbreite hat das Netz. Was jedoch auch wichtig ist, ist die Stabilität. Dazu würde ich gern ein Script schreiben welches den DNS Server von Google anpingt und dann nur in eine log Datei schreibt wenn der Ping nicht erfolgreich ist. Gibt es so eine Möglichkeit? Denke mal man muss das ganze über eine While Schleife machen. Kenn mich aber mit Programmieren und Scripten nicht so wirklich aus. Weiß nur das while true do Befehl done IMMER eine Endlosschleife ist xD
 
Du kannst mit grep gucken, was der Ping zurück gibt und je nach dem dann was machen.
 
Zuletzt bearbeitet:
iperf server + client
mtr
smokeping
 
ping hat auch einen return code (0 wenn Server erreichbar soweit ich weiß, aber „man ping“ um sicher zu gehen :)). Und soweit ich weiß kannst du auch angeben wie lange ping versuchen soll einen Server zu erreichen. Da ich grade nur am iPad bin kann ich es nicht genauer sagen, aber ich würde an deiner Stelle einen cronjob machen der alle X Minuten das Skript ausführt. Im Skript führst du ping aus und checkst den return code (google bash return code) und tust was auch immer du mit dem Ergebnis machen willst. greppen muss man da nicht.
 
Riseofdead schrieb:
Dazu würde ich gern ein Script schreiben welches den DNS Server von Google anpingt und dann nur in eine log Datei schreibt wenn der Ping nicht erfolgreich ist.
in bash etwa so:
ping -W 3 -c 1 hostname &>/dev/null || echo "$(date -R): nix erreichbar" >Logdatei

Schleife brauchst du keine. Lass es cron aller 15 min ausführen.
 
Zuletzt bearbeitet:
Heißt das er führt alle 15 Minuten einen Pingtest aus der den Hostnamen (z.b 8.8.8.8) 1x Pingt und dann das Ergebnis verwirft wenn der Ping funktioniert und wenn nicht das er das Ergebnis dann in die Logdatei schreibt?
 
Ja. Allerdings wäre es in meinen Augen schlechter Stil, zum Testen der eigenen Internetverbindung ausgerechnet die Nameserver von Google zuzumüllen. Du findest bestimmt ein geeigneteres Ziel.
 
Zurück
Oben