Es scheint, dass mein Raspberry Pi-Server nach einer zufälligen Zeit die WLAN-Verbindung verliert und irgendwie nicht automatisch wiederhergestellt werden kann.
In der Regel wird das Problem durch einen Neustart von Hand behoben.
Ich möchte einen automatischen Neustart durchführen, wenn nach ca. 30 Minuten kein WLAN verfügbar ist. Wie kann ich das machen?
wifi
raspberry-pi
raspbian
reboot
Klemme
quelle
quelle
Antworten:
Dies ist im Wesentlichen Warwicks Antwort, nur mit schrittweisen Anweisungen.
Erstellen Sie das folgende Shell-Skript in Ihrem Basisordner:
check_inet.sh
Ändern Sie die Berechtigungen so, dass sie ausführbar sind
Bearbeiten Sie
/etc/crontab
mitsudo
und fügen Sie die folgende Zeile hinzu (ersetzen Sie sieyourname
durch Ihren tatsächlichen Benutzernamen):quelle
Eine Möglichkeit wäre, einen Eintrag in den Cron von root zu schreiben, der alle 30 Minuten ein Skript ausführt. Das Skript testet die WIFI-Verbindung, verwendet möglicherweise
ping
, und schreibt das Ergebnis in eine Datei in / tmp-1, damit eine Verbindung besteht, andernfalls 0. Nachfolgende Iterationen des Skripts überprüften dann diese Datei. Wenn sie 0 war und die WIFI-Verbindung immer noch schlecht war, führen Sie eineninit 6
Befehl aus.quelle
Ich denke, Hololeap-Lösung funktioniert.
Meine Lösung überprüft alle N Minuten (abhängig davon, wie Sie Ihre crontab konfigurieren), ob eine Netzwerkverbindung besteht. Wenn die Prüfung fehlschlägt, verfolge ich den Fehler. Wenn die Fehleranzahl> 5 ist, versuche ich, WLAN neu zu starten (Sie können Raspberry auch neu starten, wenn der WLAN-Neustart fehlschlägt, überprüfen Sie die Kommentare).
Hier ist ein GitHub-Repo, das immer die neueste Version des Skripts enthält: https://github.com/ltpitt/bash-network-repair-automation
Nach den allgemeinen Richtlinien von stackexchange (alle Antworten sollten nicht nur Links enthalten) können Sie auch die Datei network_check.sh kopieren und in einen beliebigen Ordner einfügen. Die Installationsanweisungen finden Sie in den Kommentaren des Skripts.
edit 1/26/2018: Ich habe die temporären Dateien entfernt, um das Skript im Speicher laufen zu lassen und das Schreiben auf die SD-Karte von Raspberry zu vermeiden.
quelle
ifdown
undifup
möglicherweise reparieren und möglicherweise auch nicht. ………………………………………………………………………………… falls ich etwas falsch verstanden habe, erkläre es mir bitte. … (Fortsetzung)Ich habe Pittos Skript für mein Multitech-MTAC-Lorawan-Gateway modifiziert (kein Fping). Ich habe auch eine Protokolldatei hinzugefügt.
quelle
ifupdown
wenn du es / sie nicht benutzt? (2) Warum haben Siegateway_ip
von einer Variablen zu einer fest codierten Konstante gewechselt?network_check_tries_file
Datei erhöht wird (wenn diesping
fehlschlägt)network_check_tries
. … (Fortsetzung)network_check_tries
Werten 0, 1, 2, 3, 4, 5 und 6 - und erst beim siebten Aufruf (mitnetwork_check_tries
gleich 6) ist derif [ "$network_check_tries" -gt 5 ]
Test erfolgreich. Das ist wohl das richtige Verhalten. Nach Kenntnis des Skripts ist das Netzwerk möglicherweise um 00:04:59 Uhr ausgefallen. Sieben aufeinanderfolgende Fehler sind daher erforderlich, um sicherzustellen, dass Sie einen Zeitraum von 30 Minuten abgedeckt haben. … (Fortsetzung)