Crontab - Automatischer reboot wenn Verbindungsausfall erkannt. Möglich?

Hab bei meine Eltern die Knoten neu im Haus verteilt. Zum einen, damit ich im gesamten Haus auch das Private WLAN mit ausbringen kann, und zum anderen, dass ich einen der drei Knoten einsparen konnte.
Dabei ist mir jetzt aber aufgefallen, dass der MASH-only Knoten Lustadt-Poststrasse, der vorne zur Straße hin unter einem Dachbalken montiert wurde, seit dem ab und an mal für ein paar Stunden die Verbindung zum Uplink verliert. Das geschieht ganz unregelmäßig.

Habe zwar einen Auto-Reboot per Crontab eingebaut, aber bis der morgens um 4Uhr dann anspringt, ist das Ding dann immer erst mal offline.

Gibt es eine Möglichkeit per Crontab einzustellen, dass der Knoten selbst erkennt wenn er offline ist, und sich dann direkt automatisch neu rebootet?
Dann könnte der Knoten viel schneller wieder online gehen, und auch nur dann wenn er wirklich muss. Und nicht z.B. alle 3 Stunden weil voreingestellt. Das würde die Up-Zeit der Knoten extrem optimieren. Gerade wenn auf dem Platz vorm Haus Veranstaltungen sind, sollte der Knoten schnell wieder ON sein.

1 „Gefällt mir“

Ich bin kein Freund dieser Workarounds. Sie machen das Netz im gesamten etwas instabiler. Ich denke, dass sich das Problem mit der neuen Firmware etwas verbessern sollte…

Vielleicht kannst du ja auch was an der Positionierung verbessern, damit die Verbindung besser ist.

Aber wenn du es doch machen möchtest, könntest du z.B. mit ein Bash Skript die Konnektivität bzw. den VPN Status zu einem der Freifunk Gateways prüfen und wenn es fehlschlägt, den knoten rebooten.

am neuen Standort liegt es sicherlich nicht.
Die Knoten sind ca 15m von einander entfernt, und dazwischen liegt nur ein Ziegeldach.
Eigentlich laufen sie auch recht stabil miteinander. Aber wenn ich mir den die Uptime der beiden Knoten Lustadt-Poststrasse, und Lustadt-Poststrasse-Uplink, dann fallen die eben beide alle par Tage mal spontan aus. Bis zu ihrem Autoreboot morgens um 4Uhr.

Laie. ein Wiki wäre dazu echt super.
:)

Das ist schon ne ganze Menge für WLAN…

So wie ich das sehe ist dein 841 von unserem bekannten Reboote Problem betroffen, da er immer dann neu startet, wenn der RAM voll ist. Wenn du dennoch ein besseren Reboot Task haben willst, probier es mal so:

Mit vim das file “check-connectivity.sh” anlegen.

#!/bin/bash

wget -q --timeout=20 --spider http://google.com > /dev/null
if [[ $? -eq 0 ]]; then
        echo "Online"
else
        echo "Offline"
        reboot
fi

Das File dann ausführbar machen (chmod +x ) und einen crontab anlegen, der das script dann alle paar Minuten ausführt.

Getestet hab ich das nicht, vielleicht gibt es auch noch eine elegantere Lösung mit nc.

Für alle anderen:
Bitte baut dieses Skirpt nicht einfach in euren Node ein. Es behebt nicht das Problem und macht debuggen nicht einfacher. Vielleicht hilft es @LittleJ ja dass sein Knoten mehr online ist.

5 „Gefällt mir“

Das Script könnte je nach crontab-Eintrag in einem Dauerboot enden, da nach einem Reboot weder die Uhrzeit korrekt ist noch ein Link gleich vorhanden.

https://github.com/eulenfunk/packages/tree/master/gluon-linkcheck ist eine erprobte Alternative.

1 „Gefällt mir“

Da hast du wohl recht - das müsste man sich mal genauer anschauen.
Aber wie gesagt, ich bin auch nicht wirklich Fan von der Lösung, weil ich glaube, dass es sich hier um unser reboot Problem handelt.
Evtl ist es in den nächsten Wochen mit der mesh Umstellung verschwunden.

1 „Gefällt mir“