hendrik2586
Goto Top

Fritzbox Reboot Skript und FritzOS 7.57

Moin, moin @ all.

Ich hoffe, ihr genießt euer Wochenende.

Ich sitze gerade an einem Kleinen "Problem" das ich leider trotz sehr viel Hirnschmalz nicht in den Griff bekomme.

Es geht darum das ich aus eigenen Gründen meine Fritzboxen (7530ax und 7590 [im Mesh]) einmal am Tag neu starten lassen möchte.

Hierzu bin ich immer wieder auf folgenden Link aufmerksame geworden.

https://github.com/nicoh88/cron_fritzbox-reboot

Dieses Skript habe ich mir genommen und habe Folgendes geändert.

IPS="192.168.102.4"  
FRITZUSER="fritz0029"  
FRITZPW="xxxxxxxxxxx"  
location="/upnp/control/deviceconfig"  
uri="urn:dslforum-org:service:DeviceConfig:1"  
action='Reboot'  
for IP in ${IPS};do curl -k -m 5 --anyauth -u "$FRITZUSER:$FRITZPW" http://$IP:49000$location -H 'Content-Type: text/xml; charset="utf-8"' -H "SoapAction:$uri#$action" -d "<?xml version='1.0' encoding='utf-8'?><s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'><s:Body><u:$action xmlns:u='$uri'></u:$action></s:Body></s:Envelope>" -s > /dev/null  
done

Das ganze habe ich in den Aufgabenplaner meiner Synology gepackt und den Pfad zur .sh angegeben.

Nun bekomme ich immer die Durchführungsmail mit folgendem Inhalt.

Der Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: fb_reboot
Start: Sun, 15 Oct 2023 11:29:37 +0200
Ende: Sun, 15 Oct 2023 11:29:37 +0200
Aktueller Status: 3 (Unterbrochen)
Standardausgabe/Fehler:


Woran kann das liegen? Ich verstehe es nicht. Das Skript kann ich manuell über die PS ausführen aber es passiert nichts. Auch vom Linux System nicht, aber es zeigt auch keiner einen Fehler. Die Credentials sind auf jeden Fall richtig.

Kann mir irgendjemand einen Tipp geben, wo ich 'nen "hänger" habe?

LG

Hendrik

Content-ID: 1595749092

Url: https://administrator.de/contentid/1595749092

Ausgedruckt am: 24.11.2024 um 11:11 Uhr

nEmEsIs
nEmEsIs 15.10.2023 aktualisiert um 11:55:05 Uhr
Goto Top
Hi

Hast du den Artikel im git überhaupt gelesen oder einfach das Skript genommen und losgelegt ?

img_5404

a) Skript ist für Linux
b) Hast du den an der Fritzbox das TR064 freigeschaltet ?
"TR-064
Die offizielle Programmier-Schnittstelle der Fritz!Box läuft über das Protokoll TR-064. In der Web-Oberfläche der FritzBox muss die TR064 Schnittstelle explizit freigeschaltet sein..."
Quelle: https://wiki.fhem.de/wiki/FRITZBOX#TR-064

Mit freundlichen Grüßen Nemesis
Hendrik2586
Hendrik2586 15.10.2023 aktualisiert um 12:22:06 Uhr
Goto Top
Jup ist freigeschaltet und der Port 49000 ist auch per Telnet erreichbar. Ja ich weiß, das über die PS zu probieren war ein absoluter Anfänger Fehler. Steht ja auch Linux Skrip drin. Sollte aber trotzdem über die Syno funktionieren.
aqui
aqui 15.10.2023 um 12:33:27 Uhr
Goto Top
DivideByZero
DivideByZero 15.10.2023 um 12:47:11 Uhr
Goto Top
Falls Dein Skript oben richtig abgebildet ist, hast Du einen Fehler bei der ersten variable. Bei Dir heißt sie PS, nach der Logik des Skripts muss sie IPS heißen.

Gruß

DivideByZero
Hendrik2586
Hendrik2586 15.10.2023 um 13:12:50 Uhr
Goto Top
Sorry und danke für deine Antwort. Das I wurde beim Kopieren abgeschnitten. Tatsächlich steht IPS.
7907292512
7907292512 15.10.2023 aktualisiert um 20:21:58 Uhr
Goto Top
Erstens entferne das >/dev/null, dann
per SSH auf der Box einloggen und Skript erst mal dort Zeile für Zeile testen. Viele Shell Befehle sind auf Synos beschnitten bzw. haben oft nicht sämtliche Optionen wie ihre Desktop-Pendants...
By the way, http mit Basic Auth is bähhh und lässt sich im Klartext mitschnüffeln. Aber bei zwei Fritte-Plasten ist das ja auch schon egal 😁.

Gruß Sid.
Hendrik2586
Hendrik2586 15.10.2023 um 21:19:30 Uhr
Goto Top
Das wäre das einfachste, wenn der SSH Zugang offen wäre. So wie ich das gelesen habe, ist da aber auch wieder eine bisschen was zu erledigen bevor man das nutzen kann. Oder gibt es da eine einfache Version mittlerweile?
7907292512
7907292512 15.10.2023 um 23:27:44 Uhr
Goto Top
Hendrik2586
Hendrik2586 06.11.2023 um 12:39:13 Uhr
Goto Top
Kurze Aufklärung des Ganzen.

IM Endeffekt habe ich das Skript um die Variablen angepasst.

Warum lief es nicht? Das Passwort, das hier in der Testumgebung genutzt wurde, begann mit einem $ und das war tödlich. Abgeändert und sieht da, läuft alles wie es soll.