boote-forum.de - Das Forum rund um Boote  

Zurück   boote-forum.de - Das Forum rund um Boote > Dies & Das > Kein Boot



Kein Boot Hier kann man allgemeinen Small Talk halten. Es muß ja nicht immer um Boote gehen.

Antwort
 
Themen-Optionen
  #1  
Alt 25.11.2021, 20:43
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard Kann mir jemand mit Linux helfen? Cron Problem

Hallo,

es gibt doch hier bestimmt Linux-User oder?

ich habe ein eigentlich total simples Problem, irgendwie check ich nicht, was ich falsch mache....
Ich habe einen Raspberry Pi Zero WH laufen, der bei mir ein paar simple Aufgaben erledigt.
Eine davon ist, meinen Yamaha WX010 Lautsprecher im Schlafzimmer per http-Befehl anzuwerfen, um ihn als Wecker zu nutzen. Klappt seit Jahren einwandfrei.
Jetzt wollte ich, auf die gleiche Weise, eine Delock Wifi-Steckdose schalten. Diese hat die Tasmota Firmware drauf und kann dies explizit.
Wenn ich den http Befehlsstring per ssh auf dem pi starte (Betriebssystem "Dietpi") dann funktioniert das auch.
Es gibt da Befehle der Art "Toggle", "On" und "Off". Alle 3 funktionieren prima.

Trage ich den Befehl in meine Crontab ein (wo der "Yamaha-Wecker" schon läuft) tut sich nichts. Kann mir jemand helfen, warum das so ist? Das Log (journalctl) zeigt nichts auffälliges.
Der String für die Steckdose ist korrekt.... Ich habe mal einen kleinen Screenshot angehängt....



In dem Beispiel hätte ich jetzt erwartet, das die Steckdose täglich um 21:16 Uhr geschaltet wird.... Mit meinem Lautsprecher klappt es ja auch morgens

Hat jemand ne Idee?

Danke.

Gruß

H.P.
Mit Zitat antworten top
  #2  
Alt 25.11.2021, 21:28
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Lass mal das "wget" weg und rufe die URL "einfach so" auf.
"wget" erwartet einen Rückgabewert (eine Datei zum Download) und wartet und wartet und wartet... Da hängt es vermutlich ewig in der ersten Zeile.

So meine spontane Theorie.
Mit Zitat antworten top
  #3  
Alt 25.11.2021, 21:33
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Hier steht's ja auch:
https://tasmota.github.io/docs/Commands/
in der Rubrik "with web requests".
Einfach den Webserver mit der URL anpingen, nix getten.

Ganz nebenbei würde ich den Rat geben, statt IPs Hostnamen zu verwenden.
Ist zunächst egal, erleichtert aber später die Pflege.
(Ich bin da aber auch nicht sehr konsequent, vergesse die Namen genauso leicht wie IP und ärgere mich da regelmäßig drüber.)
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #4  
Alt 25.11.2021, 21:48
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Danke für Deine Antwort.

Ich habe es aber grade hinbekommen. Wenn man statt "%20" ein Leerzeichen einsetzt und den http String in " setzt klappt es.

Hat sich also erledigt.

Mit Zitat antworten top
  #5  
Alt 25.11.2021, 22:21
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Kommt dir das nicht selber komisch vor? Probier's trotzdem mal ohne "wget".
Tu's für mich.
Mit Zitat antworten top
  #6  
Alt 25.11.2021, 22:25
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Btw.: ohne "wget" brauchst du auch das 2>&1 dahinter dann nicht, weil es keinen Rückgabewert zu händeln gibt...
Mit Zitat antworten top
  #7  
Alt 26.11.2021, 07:32
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Zitat:
Zitat von Chili Beitrag anzeigen
Kommt dir das nicht selber komisch vor? Probier's trotzdem mal ohne "wget".
Tu's für mich.
Das mach ich doch gern.
Mir als Linux Laie kommt so schnell nichts komisch vor

Aber zum Thema:

Ohne "wget" geht der Befehl nicht. Lass ich ihn weg, tut sich gar nichts.
Ich habe das auch mit und ohne Anführungszeichen vor dem HTML String versucht. Nix.
Also...."Never change a running code".

Jetzt läuft jedenfalls meine Aquariumbeleuchtung....

Gruß

H.P.
Mit Zitat antworten top
  #8  
Alt 26.11.2021, 08:27
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Naja, mich würde das nicht zufriedenstellen, dass es "irgendwie" funktioniert.
Die Doku von Tasmota sagt übrigens auch ziemlich klar:
"Any spaces or special characters must be replaced with their ASCII hex codes.
You must precede each hex code with %. Most used codes are: space = %20 and ; = %3B."

Die URL war also soweit korrekt.

Statt den Anführungszeichen kannst du übrigens auch einfach einen Backslash vor das "&" machen.
Mit Zitat antworten top
  #9  
Alt 26.11.2021, 09:18
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Zitat:
Zitat von Chili Beitrag anzeigen
Die Doku von Tasmota sagt übrigens auch ziemlich klar:
"[I]Any spaces or special characters must be replaced with their ASCII hex codes.
You must precede each hex code with %. Most used codes are: space = %20 and ; = %3B."


Jap, so steht es auch in der gedruckten Anleitung die beilag, also inkl. "%20".
So funktionierte das ja auch per SSH im Terminal, nur aus irgendeinem Grund nicht via Cron. Deswegen dachte ich, das es irgendwie an Cron liegen muss, das es den String irgendwie nicht "versteht". In einem anderen Forum gabs dann den Tipp, das "%20" einfach mal wegzulassen, durch ein Leerzeichen zu ersetzen und den String in Anführungszeichen zu setzen.
Ich habe kein Plan warum, aber es hat funktioniert.

Um Heinz Rühmann aus dem Film "Feuerzangenbowle" zu zitieren:

"Damit wollen wir uns bescheiden"

Gruß und nochmal Danke.

H.P.
Mit Zitat antworten top
  #10  
Alt 26.11.2021, 12:28
Der mit dem Boot tanzt Der mit dem Boot tanzt ist offline
Admiral
 
Registriert seit: 30.04.2017
Beiträge: 3.561
3.740 Danke in 2.063 Beiträgen
Standard

Hat mich jetzt auch mal interessiert.
Habe hier eine Anleitung zu cron gefunden.

https://www.stetic.com/developer/cro...rontab-syntax/

Da ist das auch mit dem % bei cron erklärt.
__________________
Gruß
Jörg
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #11  
Alt 26.11.2021, 13:17
Benutzerbild von wernerw
wernerw wernerw ist offline
Vice Admiral
 
Registriert seit: 30.10.2017
Ort: Berlin
Beiträge: 1.431
Boot: Motorkreuzer Senior
Rufzeichen oder MMSI: DF7688
4.117 Danke in 1.265 Beiträgen
Standard

Zitat:
Zitat von hpkoopmann Beitrag anzeigen
Danke für Deine Antwort.

Ich habe es aber grade hinbekommen. Wenn man statt "%20" ein Leerzeichen einsetzt und den http String in " setzt klappt es.

Hat sich also erledigt.

Aha, das man die IP basierten Steckdosen so ansteuert war mir neu. Hab eine per USB dran, die IP basierten mit Webinterface sollte man gut verstecken im Netz weil angreifbar. Gibt einige Berichte dazu. Solange das nicht public ist sollte es ja kein Problem sein. Aber ein Casino in Las Vegas hat man mal über die AQ Steuerung gehackt....HighSecurity Netzwerk aber den Aquariencomputer hatte man nicht mit eingebunden. Daher bevorzuge ich die USB Lösung, mein AQ Computer ist direkt am AQ, daher kein Problem.

Bei mir werkelt die SISPM Library und lässt sich per cron super einfach steuern.
https://gembird.com/item.aspx?id=7415&lang=de
__________________
Gruß
Mit Zitat antworten top
  #12  
Alt 26.11.2021, 13:28
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Zitat:
Zitat von Der mit dem Boot tanzt Beitrag anzeigen
Hat mich jetzt auch mal interessiert.
Habe hier eine Anleitung zu cron gefunden.

https://www.stetic.com/developer/cro...rontab-syntax/

Da ist das auch mit dem % bei cron erklärt.
Dass du mit dem Backslash solche Sonder- und Steuerzeichen maskieren kannst schrieb ich ja oben schon, das macht die Anführungszeichen entbehrlich.

Und ich halte das "wget" immer noch für nicht richtig, das "2>&1" zum Umleiten der Ausgabe damit ebenfalls für überflüssig. Schrieb ich ja schon.

Der Aufruf der URL muss eigentlich ohne jeden Zusatz funktionieren.
Das Leerzeichen ist dabei durch den ASCII Code zu ersetzen - so, wie es die Doku auch sagt.

Aber wie beim Boot auch:
Es gibt dreckige Lösungen und es gibt saubere Lösungen.

Geändert von Chili (26.11.2021 um 13:47 Uhr)
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #13  
Alt 26.11.2021, 14:01
Benutzerbild von wernerw
wernerw wernerw ist offline
Vice Admiral
 
Registriert seit: 30.10.2017
Ort: Berlin
Beiträge: 1.431
Boot: Motorkreuzer Senior
Rufzeichen oder MMSI: DF7688
4.117 Danke in 1.265 Beiträgen
Standard

Zitat:
Zitat von Chili Beitrag anzeigen

Aber wie beim Boot auch:
Es gibt dreckige Lösungen und es gibt saubere Lösungen.
hahaha, wie Recht du hast....ja, grade die cron jobs zicken häufig und am Ende ist man froh wenn sie laufen, auch wenn der code aussieht wie Kraut und Rüben. Bloss nix ändern jetzt.... Und dann hat man noch den Ärger mit crontab -e, crontab ohne "e" haben schon manchen in die Verzweiflung getrieben. Ist ja auch ne Gewissensfrage ob rc.local or cron. Da scheiden die Geister sich ja auch. Das nächste wäre dann das die Syslogs volllaufen durch die komischen Cron jobs mit Fehlern (auch wenn sie offensichtlich funktionieren)... das erzeugt Einträge und irgendwann nach zwei Wochen ist SD Karte vom Raspberry voll. Ich hab einen Task drin für einen täglichen Reboot mit Cleanup von logfiles usw.
Ich steuer auch meine AQ Beleuchtung per PWM, d. h per cron schreib ich zahlenwerte in eine Textdatei die permanent von der Bibliothek ausgelesen wird und die einzelnen Kanäle steuert. Das war ein Krampf bis das rund lief...die Steckdosen zu steuern ist dagegen einfach gewesen.
__________________
Gruß
Mit Zitat antworten top
  #14  
Alt 26.11.2021, 14:24
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

Ich habe eine Raspberrymatic laufen. Seit Monaten bis Jahren ohne Reboot.
Mit Zitat antworten top
  #15  
Alt 26.11.2021, 14:27
Benutzerbild von justme
justme justme ist offline
Admiral
 
Registriert seit: 11.05.2017
Ort: Hannover
Beiträge: 2.175
Boot: Tresfjord 26 Lux
Rufzeichen oder MMSI: DF6347/211271830
2.704 Danke in 1.422 Beiträgen
Standard

Moin moin,

Zitat:
Zitat von Chili Beitrag anzeigen
Hier steht's ja auch:
https://tasmota.github.io/docs/Commands/
in der Rubrik "with web requests".
Einfach den Webserver mit der URL anpingen, nix getten.
welches Programm soll denn dann mit der URl etwas tun? cron kann ja auch nur irgendein Programm aufrufen, was dann die URl verarbeitet - wget oder curl wären da schon die richtigen Kandidaten für. Eine URl ist doch kein ausführbarer Befehl in der /bin/sh (die cron normalerweise nutzen sollte, sofern nicht explizit eine andere Shell angegeben wird).
Ich würd vermutlich tatsächlich lieber curl nutzen, in der Art
Code:
23 22  * * * curl -s http://192.168.178.32/cm?cmnd=Power\%20toggle > /dev/null
Das eigentliche Problem (daß ein %-Zeichen in der crontab immer zu einem Newline wird und daher escaped werden muß, wenn man es als Sonderzeichen verwenden will) findet sich auch in der manpage zur crontab:

crontab(5)
Zitat:
The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.
lg, justme
Mit Zitat antworten top
Folgende 2 Benutzer bedanken sich für diesen Beitrag:
  #16  
Alt 26.11.2021, 15:33
Benutzerbild von Chili
Chili Chili ist offline
Fleet Admiral
 
Registriert seit: 18.07.2009
Ort: Frankfurt/Main
Beiträge: 8.017
Boot: Maxum 2400 SCR, Chaparral 1930 SS Sport
20.414 Danke in 6.518 Beiträgen
Standard

cURL muss dafür aber erstmal vorhanden sein.

Aber du hast schon recht, ich bin falsch abgebogen.
Im Job muss ja letztlich stehen, WER etwas machen soll und WAS gemacht werden soll. Die nackte URL ist Käse gewesen, die ist am Ende nur ein Argument für das wget.

Mein (falscher) Gedanke war, dass ich die "Seite" ja gar nicht aufrufen möchte (ich will also nichts zurückbekommen). Ich will den Ziel-Webserver mit den reinen Request zu einer Aktion nötigen.
Aber auch um diesen Request zu erzeugen braucht man curl, wget, lynx, google-chrome, firefox oder was-weiss-ich-was; irgendWER muss mit der URL was machen.

wget ist dann doch richtig und immer vorhanden.

Geändert von Chili (26.11.2021 um 15:42 Uhr)
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #17  
Alt 26.11.2021, 15:34
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Zitat:
Zitat von wernerw Beitrag anzeigen
Aha, das man die IP basierten Steckdosen so ansteuert war mir neu. Hab eine per USB dran, die IP basierten mit Webinterface sollte man gut verstecken im Netz weil angreifbar.
Man kann die Delock Steckdose (ist eine einzelne, keine Leiste) auch per MQTT steuern oder per Alexa oder per Weboberfläche. In der Weboberfläche wäre auch ein Timer drin, aber wozu bräuchte ich dann den Raspberry Pi?
Ist ganz nett das Teil.... kostet so zwischen 14 und 19€.

Endlich mal was ohne Cloudzwang

Was die Sicherheit angeht: Der Raspberry arbeitet nur im Heimnetz, das von außen nicht zugänglich ist. Das hatte ich mal, brauche ich aber nicht wirklich.
Der RPi soll nur Dinge zeiutgesteuert tun und gut. Ich muss nicht von außen auf ihn zugreifen, an meinem Router sind keine Ports offen.

Als nächstes kommt noch eine Webcam an den Pi, die dann 1x am Tag n Bild machen soll und mir das per Mail sendet (wenn ich im Urlaub bin).
Ich hatte mir auch mal n Stream gebaut mit der Rpi Cam und einem Webserver, aber das ist mir zu viel Overkill, das brauche ich nicht.
Ich habe hier noch ne alte Creative 720p Webcam liegen, die mache ich morgen dran.... mir fehlt noch n Adapter (gib Gas Amazon!).

Gruß

H.P.
Mit Zitat antworten top
  #18  
Alt 26.11.2021, 18:13
Der mit dem Boot tanzt Der mit dem Boot tanzt ist offline
Admiral
 
Registriert seit: 30.04.2017
Beiträge: 3.561
3.740 Danke in 2.063 Beiträgen
Standard

Für die Aquarium Beleuchtung hätte es auch diese Häckersichere Cron-Job-Maschine getan
https://toom.de/p/tageszeitschaltuhr...SABEgLzAvD_BwE
__________________
Gruß
Jörg
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #19  
Alt 26.11.2021, 18:20
Benutzerbild von stenner
stenner stenner ist offline
Fleet Captain
 
Registriert seit: 29.10.2017
Ort: Kiel
Beiträge: 905
Boot: ehemaliges Bunkerboot / MS Winterthur
Rufzeichen oder MMSI: DKIE2 / 211795420
2.645 Danke in 892 Beiträgen
Standard

Zitat:
Zitat von justme Beitrag anzeigen
Das eigentliche Problem (daß ein %-Zeichen in der crontab immer zu einem Newline wird und daher escaped werden muß, wenn man es als Sonderzeichen verwenden will) findet sich auch in der manpage zur crontab
Ja, genau da ist das Problem. Entweder curl -s http://192.168.178.32/cm?cmnd=Power\%20toggle oder "curl -s http://192.168.178.32/cm?cmnd=Power toggle"

Ob wget oder curl ist Geschmacksache, ich würde "w3m -dump" oder "lynx -dump" hehmen.
__________________
Gruß

Klaus

Küstenklatsch der Kieler Sprotten
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #20  
Alt 26.11.2021, 19:51
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Zitat:
Zitat von Der mit dem Boot tanzt Beitrag anzeigen
Für die Aquarium Beleuchtung hätte es auch diese Häckersichere Cron-Job-Maschine getan
Die habe ich damit ersetzt.
Darf ich Dir die guten alten Kleinanzeigen statt Foren, Zeitung statt Internet und lineares TV statt Streaming empfehlen?

Nein im Ernst: Ich bastel halt gern
Mit Zitat antworten top
  #21  
Alt 26.11.2021, 20:07
Benutzerbild von justme
justme justme ist offline
Admiral
 
Registriert seit: 11.05.2017
Ort: Hannover
Beiträge: 2.175
Boot: Tresfjord 26 Lux
Rufzeichen oder MMSI: DF6347/211271830
2.704 Danke in 1.422 Beiträgen
Standard

Moin moin,

Zitat:
Zitat von Chili Beitrag anzeigen
cURL muss dafür aber erstmal vorhanden sein.

Aber du hast schon recht, ich bin falsch abgebogen.
Im Job muss ja letztlich stehen, WER etwas machen soll und WAS gemacht werden soll. Die nackte URL ist Käse gewesen, die ist am Ende nur ein Argument für das wget.

Mein (falscher) Gedanke war, dass ich die "Seite" ja gar nicht aufrufen möchte (ich will also nichts zurückbekommen). Ich will den Ziel-Webserver mit den reinen Request zu einer Aktion nötigen.
Aber auch um diesen Request zu erzeugen braucht man curl, wget, lynx, google-chrome, firefox oder was-weiss-ich-was; irgendWER muss mit der URL was machen.

wget ist dann doch richtig und immer vorhanden.
kenn ich, manchmal fokussiert man sich einfach auf etwas und bleibt dann genau dabei hängen... passiert mir auch regelmäßig
Aber zu Deiner ersten Anmerkung: gibt's echt Debian-Installationen ohne curl? Das ist mir tatsächlich noch nie untergekommen - wobei ich meistens auch einiges installiere was ich zum arbeiten auf der Konsole gerne habe, kann sein daß es curl dann automagisch gleich mitbringt... und falls es das echt nicht gibt ist das bei Debian ja auch nur ein apt-get install curl entfernt.

lg, justme, Linux mittlerweile auch nur noch auf den RasPis (und der FritzBox und dem NAS, aber da halt OEM-branded) einsetzend
Mit Zitat antworten top
  #22  
Alt 28.11.2021, 08:25
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Hallo....ich nochmal .

Ich habe ja jetzt einige Operationen im Crontab laufen, meinen "Multiroom-Wecker" und meine Aquarienbeleuchtung, die mehrfach am Tag geschaltet wird (Beleuchtungspause). Läuft alles super.

Jetzt eine "kosmetische" Frage:

Der "Wget" Befehl bzw. Cron legt nach Ausführung immer eine leere Datei im Root Verzeichnis an. Der http Befehl meiner Yamaha Lautsprecher fängt mit "Set-power" an und so heißt dann auch die Datei. Der Befehl für die Steckdose fängt mit "cm...." an und so heißt dann ebenfalls die Datei.
Jetzt kann ich natürlich einfach, ebenfalls per cron Befehl, die Dateien regelmässig löschen lassen (rm set* / rm cm*) und feddisch

Aber schön und sauber ist das nicht....

Also... wie verhindere ich, das die Dateien überhaupt erstellt werden?
Ich habe da was von "wget -O-" gelesen, weiß aber nicht ob und wie das geht und ob es überhaupt daran liegt....

Meinem Terminal Mailprogramm "mutt" konnte ich das Anlegen einer "sent"-Datei schon erfolgreich "ausreden".

Danke

H.P.
Mit Zitat antworten top
  #23  
Alt 28.11.2021, 10:03
Benutzerbild von justme
justme justme ist offline
Admiral
 
Registriert seit: 11.05.2017
Ort: Hannover
Beiträge: 2.175
Boot: Tresfjord 26 Lux
Rufzeichen oder MMSI: DF6347/211271830
2.704 Danke in 1.422 Beiträgen
Standard

Moin moin,

Zitat:
Zitat von hpkoopmann Beitrag anzeigen
Der "Wget" Befehl bzw. Cron legt nach Ausführung immer eine leere Datei im Root Verzeichnis an. Der http Befehl meiner Yamaha Lautsprecher fängt mit "Set-power" an und so heißt dann auch die Datei. Der Befehl für die Steckdose fängt mit "cm...." an und so heißt dann ebenfalls die Datei.
Jetzt kann ich natürlich einfach, ebenfalls per cron Befehl, die Dateien regelmässig löschen lassen (rm set* / rm cm*) und feddisch

Aber schön und sauber ist das nicht....

Also... wie verhindere ich, das die Dateien überhaupt erstellt werden?
Ich habe da was von "wget -O-" gelesen, weiß aber nicht ob und wie das geht und ob es überhaupt daran liegt....
der Befehl 'wget' ist genau dafür zuständig, was er bei Dir macht: einen http:// (oder auch ftp)-Request absenden und das Ergebnis in einer Datei speichern, sprich, das ist ein Download-helper-Client. Die Option -O (groß geschrieben - wichtig!) sagt, er soll die heruntergeladenen Dateien nicht mir ihren originalen NAmen speichern, sondern alles zusammen in das eine File, was danach angegeben wird. Wenn Du da als Filename "-" angibst schreibt er nicht in eine 'echte' Datei, sondern auf stdout - was Du aber eigentlich willst, ist daß er den Inhalt nirgendwo hin schreibt. Da gäbe es prinzipiell zwei Möglichkeiten: zum Einen könntest Du die Ausgabe mit "-O /dev/null" oder der Umleitung nach dem Filenamen"> /dev/null" direkt in's Nirvana umleiten, zum Anderen hat wget aber auch direkt eine Option, Files gar nicht herunterzuladen sondern nach dem HTTP 200 "OK"-Response des Servers abzubrechen, indem man es mit der Option --spider aufruft (technisch macht wget in diesem Fall kein 'GET $URl', sondern ein 'HEAD $URl' - das wäre gemäß Spezifikation genau der richtige Weg). Falls das funktioniert (vorher mal in der Konsole ausprobieren) wäre das vermutlich noch sinnvoller als jedes Mal die Webseite herunterzuladen und dann lokal wegzuwerfen.
Ansonsten hilft auch einfach ein 'man wget' in der Konsole schon deutlich weiter, wie viele andere Tools kann wget einiges mehr als nur die überall zu findenden Standardsachen...

lg, justme
Mit Zitat antworten top
Folgender Benutzer bedankt sich für diesen Beitrag:
  #24  
Alt 28.11.2021, 10:42
hpkoopmann hpkoopmann ist offline
Vice Admiral
 
Registriert seit: 03.02.2021
Ort: Schneverdingen / NDS
Beiträge: 1.476
Boot: AWN/Rajo MM 430 Open m. Suzuki DF30A / Mission Craft Drake 270 mit Talamex TM30 E-Motor+LiFePo Akkus
2.713 Danke in 984 Beiträgen
Standard

Zitat:
Zitat von justme Beitrag anzeigen
zum Einen könntest Du die Ausgabe mit "-O /dev/null" direkt in's Nirvana umleiten
Ich danke Dir, das mit "-O /dev/null" hat funktioniert.
"--spider" übrigens nicht, dann reagieren die Geräte nicht.

Vielen Dank.

Wozu ein Bootsforum doch alles gut ist

Gruß

H.P.
Mit Zitat antworten top
Antwort


Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wer kann mir helfen bei Trailer Problem? A.Remmers Kleinkreuzer und Trailerboote 7 09.10.2016 10:47
Zölliges Schrauben Problem, wer kann mir helfen!? Der Boris Technik-Talk 6 27.05.2015 14:18
Zündkerzen Problem ! Wer kann mir Helfen? Cedrik270405 Motoren und Antriebstechnik 118 25.09.2010 08:04


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.


Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.