diff --git a/README.md b/README.md index 9af03ae..5fda963 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Fritz!Box-Neustart-Script +![[avm-fritzbox.png](avm-fritzbox.png?raw=true "avm-fritzbox.png") + **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. @@ -12,16 +14,23 @@ Das Bash-Skript `fritzbox-restart.v1.sh` ermöglicht das Neustarten einer Fritzb 4. Führe den folgenden Befehl aus, um das Skript zu starten: ```bash - bash ./fritzbox-restart.v1.sh - ``` + bash ./fritzbox-restart.v1.sh``` + Alternativ kannst du den Befehl auch anpassen und direkt im Terminal ausführen. ```bash - 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) - ``` + 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 eine 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 erfolgreich ist. Andernfalls wird das Skript erneut versucht, bis die Verbindung hergestellt ist. +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. -Bitte beachte, dass du vor der Verwendung des Skripts die Variablen korrekt einstellen und die Ausführungsberechtigungen für das Skript setzen musst. +Als Cronjob kann dieses Script natürlich auch ausgeführt werden. + +Ein Beispiel: + ```bash + */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.