fritzbox-restart-script/README.md

37 lines
2.1 KiB
Markdown
Raw Normal View History

2023-07-16 11:36:22 +00:00
# Fritz!Box-Neustart-Script
2023-07-16 11:14:13 +00:00
2023-07-16 12:09:24 +00:00
![avm-fritzbox.png](avm-fritzbox.png?raw=true "avm-fritzbox.png")
2023-07-16 12:08:54 +00:00
2023-07-16 11:36:22 +00:00
**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
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
2023-07-16 12:08:54 +00:00
bash ./fritzbox-restart.v1.sh```
2023-07-16 11:36:22 +00:00
Alternativ kannst du den Befehl auch anpassen und direkt im Terminal ausführen.
2023-07-16 11:37:44 +00:00
```bash
2023-07-16 12:08:54 +00:00
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)```
2023-07-16 11:49:50 +00:00
2023-07-16 12:08:54 +00:00
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.
2023-07-16 11:36:22 +00:00
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.
2023-07-16 12:08:54 +00:00
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.