Ich brauche ein Bash (oder ein einfaches Shell) Skript um einen Cronjob zu erstellen, der jede Minute prüft, ob das Internet läuft. DieseBash Skript um (mehr oder weniger) zuverlässig zu überprüfen, ob das Internet aktiv ist
ist, wie ich es tat:
#! /bin/sh
host1=google.com
host2=wikipedia.org
curr_date=`date +"%Y%m%d%H%M"`
echo -n "${curr_date};"
((ping -w5 -c3 $host1 || ping -w5 -c3 $host2) > /dev/null 2>&1) &&
echo "up" || (echo "down" && exit 1)
Wie würden Sie es tun? Welche Hosts würden Sie anpingen? Klärungen
:
Mit "Internet ist bis", ich meine meine Internetverbindung.
Mit „up“, meine ich nutzbare Verbindung haben (nicht wirklich wichtig, wenn wir über die DNS oder wobei die Verbindung nach unten sprechen, ist wirklich sehr langsam [Geist der
-w
für timeout]). Aus diesem Grund habe ich auch keine IP, sondern nur Hosts einbezogen.
Soll ich auch Ping-Stack-Überlauf? Ich meine, wenn ich nicht auf Google, Wikipedia oder Stack Overflow zugreifen kann, will ich kein Internet: p
Google ist das, was ich immer zu testen, ob ich eine Verbindung habe. –
8.8.8.8 wäre auch gut, vor allem, weil es Multicast ist. –
Das Internet als Ganzes ist generell "up". Ihre Verbindung dazu darf jedoch nicht sein! ;-) –