Go to file
2024-01-21 17:19:56 +00:00
avm-fritzbox.png Initial 2023-07-16 13:36:22 +02:00
fritzbox-restart.v1.sh 1.0.3 | Doku 2024-01-21 17:17:26 +00:00
LICENSE Initial 2023-07-16 13:36:22 +02:00
README.md Beschreibung aktualisiert 2024-01-21 17:19:56 +00:00

Fritz!Box-Neustart-Script

avm-fritzbox.png

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

  1. Stelle sicher, dass du als Administrator auf deinem System angemeldet bist.

  2. Öffne ein Terminal.

  3. Navigiere zum Verzeichnis, in dem sich das Skript befindet.

  4. 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.

Weitere Infos zur Schnittstelle TR-064