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.
Alternativ über das Terminal.
crontab -e
Mit dieser kleinen aber dennoch effektiven Anpassung lässt sich ein OpenWrt Router automatisiert neu starten.