Email Cronjob Permission denied / Was muss ich da machen?

  • February 8, 2018 at 17:19 #14554
    christian1972
    Participant

    Hallo Timo,

    ich habe heute schon 3 Mails bezgl Cronjob bekommen, wo es heisst “Permission denied”.

    Hier ein Screenshot:
    https://gyazo.com/6a0576c5a0fd48b694e866e4ccf368a5

    Die Mails sehen immer gleich aus. Was muss ich machen, damit das gescheit funktioniert?

    Du hattest mir mal angeboten, mir bei den Cronjobs zu helfen, das wär wirklich toll! 🙂

    Danke + Gruß Christian

    February 8, 2018 at 17:23 #14555
    christian1972
    Participant

    Weil ich dazu alle 5 Minuten ne Mail bekomme, hab ich die 2 Cronjobs mal deaktiviert (nicht gelöscht).

    February 8, 2018 at 17:26 #14556
    christian1972
    Participant

    Betrifft nur Asa2_Cron_Ratings, also hab ich das andere (Asa2_Module_Repo_Cron_Refresh) mal aktiv gelassen.

    February 8, 2018 at 18:02 #14557
    christian1972
    Participant

    Jetzt meckert der 2. Cronjob auch 🙁

    https://gyazo.com/fb9f280bf122f302849f3e9fad4c0bbb

    February 8, 2018 at 22:17 #14559
    Timo
    Keymaster

    Hi Christian,

    evtl. fehlen der script.sh die Ausführungsrechte für den User unter dem der Cronjob ausgeführt wird. Das sollte sich beheben lassen, indem du die Ausführungsrechte vergibst.

    Auf der Shell geht das so:
    chmod a+x […]/amazon-simple-affiliate/scripts/script.sh

    Oder per FTP Programm. In den meisten kannst du per Rechtsklick auf die Datei die Zugriffsrechte anpassen.

    Ich hoffe, das hilft dir weiter.

    February 9, 2018 at 17:27 #14560
    christian1972
    Participant

    – Ich hab der Datei script.sh per ftp chmod 777 gegeben.
    – Beide Cronjobs wieder eingeschaltet.
    – Jetzt bekomme ich Folgendes: https://gyazo.com/5d53cef4ed3ad5453ea763434665b4d4

    • This reply was modified 6 years, 9 months ago by christian1972.
    February 9, 2018 at 18:02 #14562
    christian1972
    Participant

    und zum andren Cronjob, sagt’s jetzt das:
    https://gyazo.com/9b3b53305ac4a0282c8807aedea552dc

    February 10, 2018 at 23:08 #14563
    Timo
    Keymaster

    Hi Christian,

    sehr gut. Jetzt laufen die Cronjobs wieder. Beim ersten geht es um den Cronjob zum Aktualisieren der Ratings. Der meldete in deinem Screenshot zurück, dass gerade noch die Sperre aktive war. Der Cronjob richtet sich ja auch nach das Lock Duration (http://docs.getasa2.com/options_ratings.html#refresh-lock-duration).

    Der andere Screenshot zeigt, dass der Cronjob zum Aktualisieren der Produkte im Repo auch durchgelaufen ist und drei Produkte bearbeitet hat. Failed bedeutet hier, dass die Produkte nicht aktualisiert werden konnten, z.B. weil sie nicht mehr existieren o.ä. Das hat aber mit der Ausführung der Cronjobs nicht zu tun. Die laufen jetzt wieder.

    Schreibrechte (777) musst du dem Script übrigens nicht geben. Ausführungsrechte (755) reichen aus.

    February 12, 2018 at 19:00 #14568
    christian1972
    Participant

    Moin Timo,

    die Mail vom Cronjob hatte ja auch einen Fehler bezgl. Ioncube-Loader gemeldet. Ich hatte meinen Webhoster webgo dazu gefragt und die haben etwas an deinem Script angepasst:

    ———————————–
    Ich habe dahingehend nun das Script /pokershop/wp-content/plugins/amazon-simple-affiliate/lib/IfwAsa2/Wp/Plugin/Cli/Executables/script.sh angepasst.

    – php -f script.php — $@
    + php7.0 -f script.php — $@
    ———————————–

    Kannst Du mir diese Änderung erklären? Und wenn diese Änderung Sinn macht, übernimmst Du sie dann oder ist die mit dem nächsten ASA-Update wieder futsch?

    Dann noch eine Frage zum Cronjob:
    – Die Mailfunktion vom Cronjob sollte einem Bescheid geben, wenn etwas NICHT funktioniert oder? (Nicht etwa bei jeder Ausführung, wenn alles glatt läuft.)
    – Wenn ich aktuell die Mailfunktion einschalte, bekomme ich zu jeder Ausführung das: “Ratings refresh is locked due to option “refresh lock duration”. There is nothing to worry about ;)”
    – Also eine Mail, die niemand braucht, weil ja scheinbar alles richtig funktioniert.
    – Wenn man die Mailfunktion jetzt abschaltet, kriegt man zu echten Problemen nicht mehr Bescheid! Das ist so nicht gedacht, oder?

    Danke & Gruß,

    Christian

    • This reply was modified 6 years, 9 months ago by christian1972.
    February 13, 2018 at 12:58 #14570
    Timo
    Keymaster

    Hi Christian,

    das lässt sich leider nicht übernehmen, da “php7.0” nur auf deinem Server als ausführbares PHP auf der Shell konfiguriert ist. Standard ist einfach nur “php” für die aktuell eingestellte Version. Das wird bei dir wahrscheinlich auch laufen, dann allerdings für die Version 5.x (oder noch älter). Es kommt häufiger vor, dass Webhoster ihre eigene Philosophie verfolgen und beliebige Namen für das PHP CLI hinterlegen.

    Lösung hierfür ist, ein eigenes Shell-Skript im Home-Verzeichnis des Users anzulegen, von dem aus mit der individuellen PHP Executable (in deinem Fall php7.0) das ASA2 Cronjob-Skript aufgerufen. Z.B. so:

    #!/bin/sh
    php7.0 -f [path-to-your-website]/wp-content/plugins/amazon-simple-affiliate/lib/IfwAsa2/Wp/Plugin/Cli/Executables/script.php — “[path-to-your-website]/wp-content/plugins/amazon-simple-affiliate” Asa2_Module_Repo_Cron_Refresh -lt=600 -limit=10 –verbose

    Im Detail ist das nochmal hier beschrieben: https://ifeelwebde.zendesk.com/hc/en-us/articles/115000447406-The-ASA2-refresh-cronjob-is-not-working-on-cPanel

    Zum Thema E-Mail:

    ASA2 verschickt selbst keine E-Mails nach Ausführung eines Cronjobs. Die Mail-Funktion bezüglich des Cronjobs ist eine serverseitige Konfiguration. Es ist bei Webhostern üblich, dass die Ausgabe, die ein Cronjob generiert, als E-Mail versendet werden kann, unabhängig vom Inhalt. Empfehlung meinerseits: Richte für diese E-Mails ein eigenes Postfach ein und erstelle dafür Filterregeln, z.B. wenn “There is nothing to worry about” im Mail Body steht, verschiebe die Mail direkt in den Papierkorb. Zusätzlich eine Regel, die Mails im Papierkorb nach einer gewissen Zeit automatisch löscht.

You must be logged in to reply to this topic.