avm-fritzbox.png | ||
fritzbox-restart.v1.sh | ||
LICENSE | ||
README.md |
Fritz!Box-Neustart-Script
Script Beschreibung
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-reboot-v1.0.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.
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-reboot-v1.0.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.
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.