Fritz!Box per Bash-Script neustarten
Heute möchte ich dir ein nützliches Bash-Script vorstellen, das mir persönlich sehr geholfen hat. Es handelt sich um ein „Fritz!Box Restarter“-Script, mit dem ich meine Fritz!Box bei Problemen mit der Stabilität der Internetverbindung neu starten kann. Da ich selbst lange Zeit mit dieser Herausforderung zu kämpfen hatte, möchte ich meine Erfahrungen und Lösungen gerne mit dir teilen.
Um das Script nutzen zu können, benötigst du eine Fritz!Box mit FritzOS 6.0 oder höher. Die genaue Beschreibung ist in meinem Git-Repository verfügbar, dieses findest du hier:
Herunterladen kannst du das Script auf der Bash mit:
git clone https://git.techniverse.net/scriptos/fritzbox-restart-script.git
Bevor du startest, musst du einige Variablen an deine individuelle Konfiguration anpassen. Du findest diese im oberen Teil des Scripts. Hier kannst du die IP-Adresse deiner Fritz!Box, deine Fritz!Box-Benutzerdaten sowie den Pfad für das Log-File festlegen. Es ist wichtig, dass du diese Informationen korrekt einträgst, damit das Script reibungslos funktioniert.
# Variablen # Mehrere IPs durch ein Komma + Leerzeichen getrennt. Bsp: 192.168.178.1, 192.168.178.2 IPS="192.168.178.1" FRITZ_USER="FritzBenutzer" FRITZ_PW="FritzPasswort" LOG_FILE="/var/log/script-logs/fritzbox-restart.log"
Das Script selbst verwendet das TR-064 Protokoll, um die Fritz!Box neu zu starten. Es nutzt die curl-Bibliothek, um eine Verbindung zur Fritz!Box herzustellen und den Neustart-Befehl zu senden. Dabei werden die eingegebenen IP-Adresse, Benutzerdaten und der Pfad für das Log-File verwendet. Das Script unterstützt auch die Verwendung mehrerer Fritz!Boxen, indem du einfach die entsprechenden IP-Adressen durch Kommas getrennt in der Variable „IPS“ einträgst.
Um das Script auszuführen, kannst du den folgenden Befehl verwenden:
bash ./fritzbox-reboot.v1.sh
Das Script startet dann den Neustartvorgang für jede angegebene Fritz!Box-IP-Adresse. Es schreibt außerdem Ereignisse und Statusmeldungen in das Log-File, sodass du den Fortschritt und eventuelle Fehler nachverfolgen kannst.
Ich für meinen Fall nutze dieses Script in einem Cronjob:
*/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.sh)
Dieser Cronjob prüft alle 30 Minuten die Verbindung ins Internet, indem versucht wird, eine Verbindung zum öffentlichen DNS-Server 1.1.1.1 herzustellen. War der Verbindungsversuch erfolgreich, wird nichts weiter unternommen. Wenn der Verbindungsversuch 3 mal nicht erfolgreich war, wird das Script ausgeführt und damit die Fritz!Box(en) neu gestartet.
Ich persönlich habe dieses Script bereits erfolgreich genutzt, um meine Fritz!Box bei Verbindungsproblemen neu zu starten. Es hat mir geholfen, die Stabilität meiner Internetverbindung wiederherzustellen und ständige Unterbrechungen zu vermeiden. Natürlich ist es wichtig zu beachten, dass das Neustarten der Fritz!Box den Internetzugang vorübergehend unterbricht. Wenn diese aber ohnehin nicht vorhanden ist, macht das eh keinen Unterschied.
Ich hoffe, dass dieses Script dir genauso gut helfen wird wie mir. Wenn du weitere Fragen oder Anregungen hast, kannst du mir gerne einen Kommentar hinterlassen. Ich freue mich immer über Feedback.
👥 Techniverse Community
Lust auf Austausch rund um Matrix, Selfhosting und andere smarte IT-Lösungen?
In der Techniverse Community triffst du Gleichgesinnte, kannst Fragen stellen oder einfach nerdigen Talk genießen. 🚀
👉 Jetzt der Gruppe auf Matrix beitreten
~ Direkte Raumadresse: #community:techniverse.net
👉 Für lockere Gespräche abseits der Kernthemen komm in den Talkraum
~ Direkte Raumadresse: #talk:techniverse.net
Wir freuen uns, wenn du dabei bist!


