NEWS
Update auf Bookworm (Container) curl Befehl noch aktuell?
-
curl: (3) URL using bad/illegal format or missing URL
Hab das PW und alles wieder auf Normalzustand von vorher jetzt gesetzt.
Beim Testen eben habe ich wie vorgeschlagen " oder "" oder ' vor und hinter User:Passwort gesetzt.
Ich hab auch nen neuen Ordner ohne Leerzeichen angelegt.
Immer die gleiche Meldung wie oben. -
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
curl: (3) URL using bad/illegal format or missing URL
Ich hab auch nen neuen Ordner ohne Leerzeichen angelegt.
Immer die gleiche Meldung wie oben.Das Verhalten von curl (Version 7.88.1 / vorher 7.74.0) hat sich geändert, Leerzeichen in der URL sind nicht mehr zulässig.
Lass mal das Leerzeichen hinter "Terrasse/" weg, außerdem müssen Leerzeichen in Verzeichnis-/Dateinamen durch "%20" ersetzt werden:
curl -T '/opt/iobroker/iobroker-data/tmp/Snapshot.jpg' -u XXXXX:XXXXX "ftp://192.168.XX.XX:21/Snapshot%20Terrasse/`date +%Y-%m-%d-%H-%M-%S`.jpg"
Edit:
wahrscheinlich ist die Ursache diese Änderung hier in der Version 7.78:@thomas-braun sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Und Dinge, die früher schon falsch waren, aber gingen, werden nun anders gehandhabt.
-
@marc-berg sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
curl -T '/opt/iobroker/iobroker-data/tmp/Snapshot.jpg' -u XXXXX:XXXXX "ftp://192.168.XX.XX:21/Snapshot Terrasse/
date +%Y-%m-%d-%H-%M-%S
.jpg"Gebe ich das so ein und auch mit " oder "" oder ohne "" bei User:Passwort kommt die Fehlermeldung unten
-bash: !Lk: event not found
-
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Gebe ich das so ein und auch mit " oder "" oder ohne "" bei User:Passwort kommt die Fehlermeldung unten
ich sehe in deinem Code weder das "%20" noch das entfernte Leerzeichen hinter "Terrasse/".
Außerdem könnte es auch noch sein, dass ZUSÄTZLICH jetzt auch Sonderzeichen im Passwort ein Problem sind. -
Ich hab das von dir vorgeschlagene genommen und durchprobiert.
Nehme ich ein einfaches Passwort kommt:curl: Can't open '/opt/iobroker/iobroker-data/tmp/Snapshot.jpg'! curl: try 'curl --help' or 'curl --manual' for more information curl: (26) Failed to open/read local data from file/application
-
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
curl: (26) Failed to open/read local data from file/application
Ja, dieser Fehler erscheint, wenn die Quelldatei nicht da ist/falsche Rechte besitzt.
-
Quelldatei ist vorhanden und so wird sie dorthin kopiert:
var timeout, timeout1, timeout2; var fs = require('fs'); on({id: 'deconz.0.Sensors.28.presence', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (compareTime('19:00', '18:59', "between", null) && getState("deconz.0.Sensors.28.presence").val === true) { timeout = setTimeout(function () { exec('wget --output-document /opt/iobroker/iobroker-data/tmp/Snapshot.jpg \'http://192.168.XX.XX:80/picture/3/current/\''); }, 2000); timeout1 = setTimeout(function () { const bild = fs.readFileSync('/opt/iobroker/iobroker-data/tmp/Snapshot.jpg'); writeFile('vis.0','Snapshot.jpg', bild); }, 4000); }});
Zusätzlich wird sie am Ende noch nach vis.0 kopiert, wegen der VIS zum Anzeigen.
-
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
/opt/iobroker/iobroker-data/tmp
dann zeig mal bitte
ls -la /opt/iobroker/iobroker-data/tmp
und mit welchem User du den curl-Befehl auf der Kommandozeile ausführst.
-
@marc-berg sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
ls -la /opt/iobroker/iobroker-data/tmp
-
@haselchen
Ja, schwierig. Könnte es sein, dass die Datei durch ein hängen gebliebenes Skript noch im Schreibzugriff ist?
Was passiert, wenn du mal eine andere Datei versuchst? -
Kommt jedes Mal "failed to open".
Gibt es ne andere Möglichkeit aus dem tmp Ordner die Datei auf einen Ordner auf der Syno zu verschieben? -
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Kommt jedes Mal "failed to open".
Gibt es ne andere Möglichkeit aus dem tmp Ordner die Datei auf einen Ordner auf der Syno zu verschieben?Sicher. Das muss aber gehen, habe das ganze gerade nochmal durchgespielt, mit Erfolg.
Zeig doch bitte nochmal den gesamten Befehl (Ein- und Ausgabe). Du bist immer ziemlich großzügig mit dem Wegschneiden.
-
Siehe meinen ersten Post.
Ich schneide nix weg, ich mache unkenntlich.
Der Befehl/die URLhat sich nicht geändert. Und die von dir besagte curl Änderung war 2021.
Danach hatte ich das erst eingerichtet, also daran wird es nicht liegen.
Ich vermute, dass es mit dem Upgrade zu tun hat.
Ich habe den gemounteten Ordner von der vorherigen Container Installation einfach umbenannt.
Die Dateien darin so belassen.
In der V9 Installation habe ich dann bei Volumes die Konstellation angegeben:Hat beim Start alles hervorragend funktioniert, einzig diese Kamerabilder Sache geht nicht.
Und da vermute ich irgendwas/irgendwo mit den Rechten oder sonst was verbogenes.
Edit:
Ich mache mal die Rolle rückwärts und mache nen neuen Container, neuen Ordner und Backup zurückspielen. -
Ich kann manchen Frust hier tatsächlich nachvollziehen.
Ich hab immer schön meine Backups gemacht.
Container aufgesetzt, mit dem Adapter auf herstellen gedrückt, dann schreibt er noch, dass das System mehrmals gestartet wird....und das wars. Passieren tut nichts.
Im Log nichts... und ich habe laaaaaaaaange gewartet.
Bin nun nicht so der IT Crack und Anfängern hier wird es noch schwieriger fallen so eine Situation zu lösen.
Tatsächlich bin ich auch mit dem Latein am Ende.
Mehr geht nicht.
Frischer Container und ein Backup von gestern.Edit:
Man dreht sich echt im Kreis.
Ich hab das Backup mit V7 oder V8 gemacht.
Bin ja dann auf V9.
Nun geht nach einigem Probieren das Backup in V9 nicht.
Lade ich nochmal die V8 herunter und installier die, dann macht er das Restore.
Das kann ja nicht die Lösung sein, denn so komme ich nicht zukünfitig mit meinen Daten in die nächsthöheren Versionen.Ich weiss, gehört hier nicht her, aber vielleicht gibt es da nen kurzes Statement von Dir.
-
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Ich schneide nix weg, ich mache unkenntlich.
Es geht mir nur darum, dass es zum Helfen immer viel besser ist, wenn man komplette Ein- und die dazugehörigen Ausgaben sieht. Du kannst ja mal den Thread hochscrollen, das kam leider nie. Kein Vorwurf, aber so läuft man immer Gefahr, etwas wichtiges zu übersehen. Bei deinen Ausgaben kann man nicht sehen, in welchem Verzeichnis du stehst, unter welchem User du arbeitest und welche Befehle zu welchen Ausgaben führen.
Der Befehl/die URL hat sich nicht geändert. Und die von dir besagte curl Änderung war 2021.
Ja, die Änderung war von 2021, trotzdem war die Version 7.74 in Debian 11 im Stable, wurde also unter Debian 11 bis zum Schluss ausgeliefert. Unter Debian 12 kam der Versionssprung auf 7.88. Deshalb ist es relevant.
Danach hatte ich das erst eingerichtet, also daran wird es nicht liegen.
Doch, der Teil mit den Leerzeichen und dem "bad/illegal URL" liegt genau daran.
Ich vermute, dass es mit dem Upgrade zu tun hat.
Dagegen spricht, dass ich deinen Befehl praktisch 1:1 unter dem 9.0.1 Image ausführen kann.
marc@iobroker:/opt/iobroker/tmp$ curl -T '/opt/iobroker/tmp/Snapshot.jpg' -u ftpuser:xxx "ftp://192.168.1.1:21/Dokumente/test%201/`date +%Y-%m-%d-%H-%M-%S`.jpg" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 37240 0 0 100 37240 0 39584 --:--:-- --:--:-- --:--:-- 39574
-
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
@andre
Ich weiss, gehört hier nicht her, aber vielleicht gibt es da nen kurzes Statement von Dir.Ich weiß ehrlich gesagt nicht was für ein Statement du von mir erwartest.
MfG,
André -
Zu der Restore Problematik?
So oft nutze ich dieses Prozedere nicht.
Aber hier scheint der Wurm drin zu sein.
Wie kriege ich mein Backup von V7 oder V8 (weiss ich leider nicht mehr) in V9 rein? -
@marc-berg sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Ich vermute, dass es mit dem Upgrade zu tun hat.
Dagegen spricht, dass ich deinen Befehl praktisch 1:1 unter dem 9.0.1 Image ausführen kann.
Dann ist ja an dem Befehl nichts falsch, wenn Du ihn 1:1 eingegeben hast
Also hakt es nach dem Update woanders. Wie ich vermute an meiner Vorgehensweise auf V9.
-
@haselchen said in Update auf Bookworm (Container) curl Befehl noch aktuell?:
curl -T '/opt/iobroker/iobroker-data/tmp/Snapshot.jpg' -u XXXXX:XXXXX "ftp://192.168.XX.XX:21/Snapshot Terrasse/
date +%Y-%m-%d-%H-%M-%S
.jpg"Hier mal noch ein paar variationen um das zu lösen.
- curl ist recht komplex und umfangreich. um nur das lesen einer date mal zu testen kannst du einfach mal cat verwenden
cat '/opt/iobroker/iobroker-data/tmp/Snapshot.jpg'
evtl kommen dann bessere fehlermeldungen.
- blockierende prozesse
schaue auch mal mit
ps aux | grep curl
ob da noch ein zombi-prozess hängt. allerdings kann es fast nicht sein, das ein lesender prozess einen anderen lesenden prozess blockiert
-
verbose
um weitere bessere Fehlermeldungen zu erhalten oder zu wissen wo es genau hängt, kannst du dem curl befehl mal noch die --verbose hinzufügen. da kommt dann eine genauere auflistung was curl da der reihe nach macht -
ftp user:password
bei schwierigkeiten mit dem passwort kannst du auch mal die -u xxx:xxx option weglassen und die ftp url nach folgendem schema anpassen
ftp://xxuserxx:xxpasswordxx@192.168.XX.XX:21/Snapshot_Terrasse/zieldateinamen.jpg"
- shellsubstitution, leerzeichen im pfad
um schwierigkeiten mit der shell substitution ersteinmal auszuschließen, würde ich als ziel-dateinamen erst einmal einen festen namen nehmen. wenn dann sicher ist, das die Übertragung klappt, dann kannst du die substitution einbauen und sehen ob es damit klappt.
Auch auf das Leerzeichen würde ich verzichten und eher gegen einen Unterstrich _ tauschen.
bei linux und der shell kann man komplexe vorgänge sehr kompakt notieren. bei fehlern ist es dann aber nicht immer ganz klar wo evtl ein fehler auftritt. auch können die ausgegebenen fehlermeldungen uU nur Folgefehler von vorangegangenen Fehlern sein. Daher muss man sich den ablaufenden Prozess vor Augen führen und überlegen in welcher Reihenfolge das abläuft und das dann schrittweise testen.
Daher, nicht alle der aufgelisteten Sachen auf einmal prüfen und dann sagen es geht nicht, sondern jedes einzelne für sich. -
@haselchen sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?:
Also hakt es nach dem Update woanders. Wie ich vermute an meiner Vorgehensweise auf V9
der curl befehl weiß nix von iobroker. der kennt in diesem fall nur quelldatei und zieldatei
noch als ergänzung. wenn du die befehle direkt auf der shell probierst, ist es ratsam, das dann gleich als der user iobroker zu machen.
um eine shell mit einem anderen benutzer zu öffnen mach ich das immer wie folgt. danach, verlangt man von dir das admin passwort von linux
sudo -u iobroker