avm-fritzbox.png | ||
fritzbox-restart.v1.sh | ||
LICENSE | ||
README.md |
Fritz!Box-Neustart-Script
Das Bash-Skript fritzbox-restart.v1.sh
ermöglicht das Neustarten einer Fritzbox über das TR-064-Protokoll. Das Skript ist kompatibel mit Fritzboxen ab FritzOS 6.0.
Verwendung
-
Stelle sicher, dass du als Administrator auf deinem System angemeldet bist.
-
Öffne ein Terminal.
-
Navigiere zum Verzeichnis, in dem sich das Skript befindet.
-
Führe den folgenden Befehl aus, um das Skript zu starten:
bash ./fritzbox-restart.v1.sh
Alternativ kannst du den Befehl auch anpassen und direkt im Terminal ausführen.
ping -c 1 1.1.1.1 >/dev/null || (for i in {1..3}; do ping -c 1 1.1.1.1 >/dev/null && exit; sleep 30; done; /home/scripts/network/fritzbox-restart.v1.sh)
Dieser Befehl stellt sicher, dass keine Internetverbindung besteht, bevor das Skript ausgeführt wird. Es versucht, eine Verbindung zum öffentlichen DNS-Server 1.1.1.1
herzustellen und führt das Skript nur aus, wenn die Verbindung 3 mal nicht erfolgreich war. Andernfalls wird nichts weiter unternommen.
Das Skript sendet über curl
einen SOAP-Request an die Fritzbox, um den Neustart auszulösen. Die Fritzbox-IP-Adresse, der Benutzername und das Passwort werden in den Variablen IPS
, FRITZ_USER
und FRITZ_PW
festgelegt. Du kannst diese Variablen entsprechend deiner Konfiguration anpassen.
Es empfiehlt sich einen dedizierten Restart
-Benutzer anzulegen. In den meisten Fällen kann hier root
eingetragen werden, wenn kein Username zum Login notwendig ist.
Als Cronjob kann dieses Script natürlich auch ausgeführt werden.
Ein Beispiel:
*/30 * * * * ping -c 1 1.1.1.1 >/dev/null || (for i in {1..3}; do ping -c 1 1.1.1.1 >/dev/null && exit; sleep 30; done; /home/scripts/network/fritzbox-restart.v1.sh)
Diese Cronjob stellt eine Verbindung zum öffentlichen DNS-Server 1.1.1.1
her. Ist die Verbindung erfolgreich, passiert nichts weiter. Ist die Verbindung 3 mal nicht erfolgreich gewesen, so wird dss Script ausgeführt. Der Cronjob führt die Abfrage alle 30 Minuten aus.
Wer seine Fritzbox einfach nur zur geplanten zeit neustarten möchte, kann natürlich auch einfach nur das Script ausführen:
# FRITZ! Geräte neustarten
@weekly root /home/scripts/network/fritzbox-restart.v1.sh)
Bitte beachte, dass du vor der Verwendung des Skripts die Variablen IPS
, FRITZ_USER
und FRITZ_PW
korrekt einstellen und die Ausführungsberechtigungen für das Skript setzen musst.