Geplante Aufgaben (Cronjobs) werden nicht automatisch ausgeführt.

  • Hallo zusammen,

    nach der von mir selbst angestoßenen Soft-Migration auf ein Webhosting 2000 habe ich auch direkt noch einen neuen Dienst auf meinem Webspace installieren wollen: Tiny Tiny RSS.


    Damit die RSS-Feeds regelmäßig geladen werden, muss man natürlich einen Cronjob einrichten (https://git.tt-rss.org/fox/tt-rss/wiki/UpdatingFeeds). Das habe ich wie folgt gemacht:

    pasted-from-clipboard.png



    Leider wird der Cronjob nie automatisch ausgeführt (E-Mail-Benachrichtigung kam auch noch keine einzige). Klicke ich auf "Jetzt ausführen" wird die RSS-Datenbank aber sofort aktualisiert. Am Befehl sollte es also nicht liegen.


    Ich scheine auch nicht der einzige mit dem Problem zu sein: https://forum.netcup.de/anwend…lux-rss-dienst/#post90378

    Funktioniert das bei irgendjemandem? Liegt es an meinem Host? Habe ich doch einen Fehler im Aufruf?

  • Hay,


    ich habe kein Webhosting, aber bei cron-Jobs ist in der Regel der erste Stolperstein, dass man den Pfad zum Script absolut angeben muss (während der "jetzt ausführen User" oftmals einen Pfad in seinem Environment hat und deswegen funktioniert das) und der zweite Stolperstein ist, dass falls relative Pfade im Script stehen, diese am besten auch gleich gegen absolute ausgetauscht werden.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Danke für die Info. Die Probleme mit absoluten Pfaden bei crontab kenne ich. Leider sind mir die absoluten Pfade auf dem Shared Hosting gar nicht bekannt. Zugriff auf crontab habe ich verständlicherweise auch nicht.

    Deshalb habe ich mich ja zu 100% an die Plesk-GUI gehalten und den Pfad mit dem eingeblendeten Dateimanager gewählt. Auch passt der Pfad voll zu dem gegebenen Code-Beispiel und eine manuelle Ausführung inkl. Status im WCP funktioniert ebenfalls. Wenn hier also ein Fehler vorliegt, ist das ein Bug des WCP.


    Was mich am meisten stutzig macht, sind die fehlenden Rückmeldungen. Weder im WCP, noch per Mail erhalte ich Infos, dass der Cron ausgeführt wurde. Eine fehlerhafte Einstellung sollte ja ebenso eine Mail auslösen, wie eine korrekte Einstellung.


    Bin ich denn wirklich der einzige User des neuen WCP, der cronjobs braucht?

  • Hay,

    Leider sind mir die absoluten Pfade auf dem Shared Hosting gar nicht bekannt.


    dann mach' ihn Dir bekannt, in dem du ein kleines PHP-Script anlegst und ausführst:


    PHP
    <?php echo $_SERVER["DOCUMENT_ROOT"] ?>

    Das war jetzt das kleinste Problem, aber vielleicht hilft es trotzdem weiter.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Ja, der absolute Pfad ist wirklich kein Problem :D


    Daran liegt es auch sicher nicht, denn das habe ich jetzt mit einem kleinen Test-Script getestet. Auch dieses wird weder mit relativem, noch dem absoluten Pfad aufgerufen.


    Ich habe auch die Methode getestet, direkt einen Befehl aufzurufen. Hier darf ich in der Tat sogar gar nicht die absoluten Pfade eingeben, sonst gibt es auch bei der manuellen Ausführung einen Fehler. Da wird offenbar alles in einer chroot Umgebung ausgeführt.

    Auch ein simpler URL-Abruf funktioniert nicht.


    Manuell läuft das alles, aber nicht automatisch. Mail-Benachrichtigungen gibt es auch nie.

    Ich glaube langsam, dass bei mir crond gar nicht läuft :/

  • Hay,


    hm, da bin ich mangels Webhosting auch am Ende, weil ich nichts ausprobieren kann :) meine geplanten Aufgaben sehen leicht anders aus, gerade bei den Pfaden entscheidend anders... aber ich habe ja auch vollständige Gewalt über meinen cron... und die Pfade...



    pasted-from-clipboard.png


    Ich kann jetzt leider nicht nachschauen, aber ich werde heute abend vielleicht mal überprüfen, was diese geplante Aufgabe eigentlich serverseitig genau auslöst. Es kann ja immerhin auch sein, dass kein echter Cronjob angelegt wird, sondern das in einen Job integriert wird, den Plex für alle geplanten Aufgaben gemeinsam durchführt, dann wäre der Fehler eventuell bei Plesk zu suchen. In beiden Fällen wäre es aber etwas für den Support, denn offensichtliche Fehleingaben kann ich nicht erkennen. Ich habe mir auch schon gedacht, dass es an den Pfaden eigentlich nicht liegen kann, wenn man einen Dateirequest bekommt, wo man sich seinen Pfad aussuchen kann... aber Plesk ist in manchen Sachen auch nicht immer konsistent :) Ist halt eben auch nur ne Software, die von Menschen programmiert wurde.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Eventuell wird der absolute Pfad aus der Chroot-Umgebung benötigt?


    Ruf das PHP-Script zur Pfadermittlung einmal über SSH auf und probiere es mit diesem Pfad.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Der Aufruf über HTTP und SSH gibt wirklich immer den gleichen Pfad aus?

    PHP
    <?php printf("%s\n", __dir__);

    Das war nämlich bisher nicht so beim Webhosting. Deshalb wundert mich das etwas...

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hast Du auch mal die Option "Befehl" ausprobiert?

    Code
    /usr/local/php56/bin/php /httpdocs/rss/update.php --feeds --quiet

    Das php56 musste mit Deiner aktiven Version austauschen (oder selbst im Verzeichnis nachsehen).

  • Der Aufruf über HTTP und SSH gibt wirklich immer den gleichen Pfad aus?

    PHP
    <?php printf("%s\n", __dir__);

    Das war nämlich bisher nicht so beim Webhosting. Deshalb wundert mich das etwas...

    Ah vielen Dank. Da bekomme ich tatsächlich eine andere Ausgabe jetzt. Bei dem vorherigen Befehl mittels echo hatte ich natürlich auf der Konsole keine Ausgabe und hatte mir das Ergebnis wohl falsch gemerkt.


    Ergebnis jetzt:

    Aufruf per HTTP(S): /var/www/vhosts/hostingXXXXXXXXXX.aXXXX.netcup.net/httpdocs/rss

    Aufruf per SSH: /httpdocs/rss


    Wenn Plesk also im chroot ist, sollte dort auch der kürzere Pfad funktionieren :) Eigentlich logisch, denn genau so kann ich per SSH die Skripte ja auch aufrufen.


    Hast Du auch mal die Option "Befehl" ausprobiert?

    Habe ich. Der Befehl funktioniert exakt so auch auf der Konsole.


    Er wird aber nicht gemäß Cron ausgeführt. Mit einem anderen Test-Skript, das eine Status-Datei schreiben soll, habe ich auch die dritte Option "URL aufrufen" getestet. Das Skript gibt über keine der drei Optionen eine Rückmeldung und die Datei wird auch nicht geschrieben :(

    Wie gesagt: Klicke ich im Plesk Onyx auf "Jetzt ausführen" klicke, klappt ja auch alles.


    Mein Anliegen hier im Forum war, einen simplen Fehler meinerseits auszuschließen und vielleicht einen oder zwei andere User zu finden, die Crons im neuen WCP nutzen. Offensichtlich bin ich da aber doch (fast) alleine und einen offensichtlichen Fehler finde ich jetzt auch nicht :/ Danke für euren Input. Damit bin ich mir zumindest sicher, dass meine Befehle korrekt sein müssen.

    Sobald ich während der Support-Zeiten mal dazu komme, werde ich den Support anrufen oder per Mail anschreiben.

  • Hallo zusammen,


    ich hole diesen Thread wieder hoch, weil ich bei meiner tt-rss Installation genau das gleiche Problem habe - die Feeds werden nicht aktualisiert. Der Unetrschied zum OP ist, dass ich hier einen Befehl und nicht ein PHP Skript definiert habe.


    Auch in diesem Fall, wenn ich die geplante Aufgabe manuell mittels "Jetzt ausführen" starte, wird mir folgendes angezeigt und die Feeds werden aktualisiert:

    Code
    Die Aufgabe "/usr/local/php71/bin/php /httpdocs/***/update.php --feeds --quiet" wurde erfolgreich in 157 Sekunden abgeschlossen.

    Unter "Ausführen" habe ich "Cron-Stil" gewählt, mit folgender Einstellung: "*/15 * * * *". Probeweise habe ich auch eine andere Einstellung versucht, nämlich "Stündlich, um 30 Minuten". In beiden Fällen erfolgte *keine* Aktualisierung.


    Ich plane ebenfalls, das Problem an den Support zu melden. Mehr nach deren Feedback.

    • Offizieller Beitrag

    Guten Tag,


    haben Sie die Standarddomain (hosting12345.af123.netcup.net) deaktiviert? In diesem Fall kann es zu unvorhersehbarem Verhalten kommen, weswegen wir davon abraten. Die von Ihnen beschriebene Symptomatik passt dazu.


    Sollte dies so sein, aktivieren Sie die Domain bitte wieder, entfernen Sie den Cronjob komplett und legen Sie diesen neu an. Danach sollte es dann funktionieren.