Hallo, beim Aufruf der ronjob-Url mittels wget oder curl wird ein Benutzer/Password verlangt. Ist das so gewollt ? Wenn ich die Doku richtig verstehe, dann sollte es ohne Authentifizierung gehen. Güße, Dirk
Die "normale" Cronjob-URL aus dem Shop verlangt keine Zugangsdaten, es sei denn, dein Shop ist ggfs. mit einem Verzeichnisschutz versehen. Wenn ja, kann man diese mitgeben. Sprechen wir von individuellen Scripten, dann muss man hier prüfen, was dort bei der Ausführung passiert. Aus deinem Beitrag geht nicht richtig hervor, was dein genaues Vorhaben ist, weil Du zum Beispiel cURL in den Raum wirfst. Du kennst den Hintergrund von Wget und cURL? Aber, bevor wir hier spekulieren, bei welcher Url oder welchem Vorhaben das passiert, solltest Du sie vielleicht mal hier posten oder uns mitteilen, worum es geht. Und, wenn es geht, auch ohne sensible Daten, wie den Token bitte.
Hi, Im Admin: Toolbox - Zeitgesteuerte Aufgaben. Dort wird im Feld Cronjob-URL eine URL angezeigt welche regelmäßig von cron aufgerufen werden soll. Wenn ich diese URL nehme und mit wget oder curl aufrufe dann wird entweder ein Passowrt verlangt oder es kommt zu einer "nicht erfolgreich" Meldung. Ich bin davon ausgegangen, dass dieses URL direkt ohne Authentifizierung aufgerufen werden kann. Einen zusätzlichen Verzeichnisschutz über .htaccess gibt es nicht. Wenn ich die URL im Browser aufrufe und parallel in einem anderen Tab im Shop als Admin angemeldet bin, dann klappt alles ohne Passwortabfrage. Grüße, Dirk
Screenshot von was ? Dies hier: das zuletzt Ausgeführt Datum/Uhrzeit kommt vom letzten Test über den Browser Ich vermute dass der "token=60a5509c61f294e643f072babe318e5e" nicht (mehr) passt, weil der Shop aus dem Testshop übernommen wurde und dieser vorher in einem anderen Verzeichnis bzw. Server lag.
Wie und wo legst Du den Cronjob bei deinem Provider an? Mit dem Screenshot von dir, kann ich nichts anfangen. Da steht doch nur die Url! Der Cronjob bzw. die Url (Shop/Provider) muss passen, sonst kann die Kommunikation auch nicht richtig funktionieren. Des Weiteren tust Du leider meine Fragen nicht beantworten, so dass das schwierig wird, dir zu helfen. Ich empfehle dir ein Ticket aufzumachen.
wenn du die url im browser aufrufst ohne im admin zu sein, also anderer browser inkoknito usw. dann geht die nicht? das wäre dann ein fehler.
daher auch die Frage was genau Du haben willst. Der cronjob kommt in die /etc/crontab (ich habe keinen Provider der Cronjobs für mich ausführt) aber wie schon geschrieben scheitert schon der direkte Aufruf auf der Kommandozeile: wget https://domain.de/shop/shop.php?do=Cronjobs/Run&token=60a5509c61f294e643f072babe Führt zu HTTP request sent, awaiting response... 401 Unauthorized Username/Password Authentication Failed. und curl https://domain.de/shop/shop.php?do=Cronjobs/Run&token=60a5509c61f294e643f072babe führt zu: {"success":false} wobei die Kommunikation (laut curl -v ...) einwandfrei zu stande kommt @Dennis In der Tat der direkte Aufruf vom Browser aus auch wenn man nicht als Admin angemeldet ist funktioniert. Verstehe ich nicht...
Moin! Hatte das gleiche Problem auf meinem eigenen Debian-Server. Zuerst hatte ich es, als Eintrag im cron, so probiert: wget https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx Das führt dann zu dem Authentifizierungsfehler. Warum ergibt sich, wenn man wget mit -d zum debuggen aufruft. Der Teil nach dem ...shop.php wird als Dateiname interpretiert. Also habe ich die URL in einfache Anführungsstriche gesetzt, dann funktioniert es. wget 'https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx' Allerdings müllt man sich damit evtl. das Dateisystem voll, da hierbei minütlich Dateien nach dem Muster shop.php?do=Cronjobs%2FRun&token=xxx angelegt werden. Macht man das Ganze mit curl passiert das nicht (bei mir): curl 'https://gge-verlag.de/shop.php?do=Cronjobs/Run&token=xxx' Viele Grüße, Volker
Hallo @GGE, ich glaube mit Hochkomma hatte ich es auch versucht, mit dem gleichen Ergebnis. Ich habe alles in ein Script gepackt welches jetzt aufgerufen wird, damit geht alles und ich mache zusätzlich noch ein paar Log-Einträge. @Dennis: siehe oben, dort steht das Problem beschrieben Grüße, Dirk
daher die frage warum ihr das mit dem wget oder curl macht statt über die crontab vom server? crontab -e i root aufrufen und nen cronjob einrichten. so z.B. (Link nur für registrierte Nutzer sichtbar.) daher die frage warum ihr das nicht nutzt. Da leg ich alle cronjobs von uns mit an. interval - URL - Parameter fertig.
Auch das steht oben beschrieben. Da nun ein Script aufgerufen wird, welches die URL aufruft und auch protokolliert und dies stabil funktioniert, habe ich mich auch nicht weiter um die Sache gekümmert.