Beschreibung erweitert

This commit is contained in:
Patrick Asmus 2023-07-16 12:08:54 +00:00
parent b45da950a3
commit 8ca0844c46

View File

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