OpenWrt Router Neustart ohne Dauerschleife

Um einen OpenWrt Router regelmäßig automatisch neu zu starten, lässt sich ein Cronjob einrichten. Der Befehl dazu ist prinzipiell nichts Besonderes. Unter Linux wird einfach folgender Befehl ausgeführt.

/sbin/reboot

Würde das jetzt auf einem OpenWrt Router per Cronjob ausgeführt werden, gäbe es ein Problem. Der Router würde dann in einer Dauerschleife neu starten. Nur ein Failsafe Reset würde hier helfen.


Doch warum ist das so? Wird der Router beispielsweise jeden Sonntag um 05:00 Uhr per Cronjob neu gestartet, hat der Router nach dem Neustart auch erstmal 05:00 Uhr als Systemzeit. Bevor die Uhrzeit wieder aktualisiert wird, startet schon wieder der Cronjob mit dem Reboot. Die Lösung des Problems ist letztendlich genauso simpel, wie den Router automatisiert neu zu starten. Es wird vor dem Reboot eine Pause von 70 Sekunden ausgeführt. Im Beispiel des Neustarts um 05:00 Uhr würde der Cronjob dann wie folgt aussehen.

# reboot router every sunday at 05:00 am
59 4 * * 0 sleep 70 && /sbin/reboot

Der Cronjob kann entweder über das Webinterface Luci oder über ein Terminal eingetragen werden.

OpenWRT

Alternativ über das Terminal.

crontab -e

OpenWRT

Mit dieser kleinen aber dennoch effektiven Anpassung lässt sich ein OpenWrt Router automatisiert neu starten.