Nextcloud Cronjob die 500te

  • Huhu zusammen,


    ich habe ein ziemlich nerviges Problem und komme auch nicht mehr weiter jetzt. Nachdem eigene Ansätze nicht mehr funktionierten und zig Threads (unteranderem aus diesem Forum) auch nicht weiterhelfen konnten bin ich vollkommen verzweifelt und wende mich an euch auf Hoffnung mir kann jemand helfen...


    Ich muss einen Cronjob für Nextcloud erstellen, soweit sogut.


    Also gehe ich wie folgt im WCP vor:


    Befehl ausführen /PhP-Script ausführen (beides probiert)


    php -f /var/www/vhosts/hostingXXXXXX.a2fee.netcup.net/cloud/cron.php


    Cron-Stil: */5 * * * *


    Aber es funktioniert einfach nicht, es kommt immer:

    Could not open input file: php -f /var/www/vhosts/hostingXXXXXX.a2fee.netcup.net/cloud/cron.php


    Dabei ist egal ob ich den Pfad auf "php -f /httpdocs/cloud/cron.php" setze, Befehl ausführen oder PHP-Script ausführen anwähle... er will einfach nicht -.-


    Hat vielleicht jemand einen Plan was ich falsch mache? Wenn ich nicht komplett auf den Kopf gefallen bin müsste das doch so gehen, oder?


    Mit php -i .... geht es übrigens, logischerweise aktualisiert er das auf Nextcloud dann nicht :/


    Danke schonmal im vorraus.


    Grüßle

  • Hay,


    absoluten Pfad zum PHP in der crontab selbst mitangeben... also z.B. /usr/bin/php


    CU, Peter

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

  • Der Pfad ist falsch, im Chroot beginnt dieser erst nach dem hostingXXXXX-Teil. Und genau den erwartet Plesk an dieser Stelle.

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

    Einmal editiert, zuletzt von KB19 ()

  • In etwa so dann?


    usr/bin/php/ php -f /var/www/vhosts/hostingXXXXXX.a2fee.netcup.net/cloud/cron.php


    Falls ja, gleicher fehler.


    Bildschirmfoto 2022-08-05 um 17.53.50.png


    Edit:


    KB19 Das wäre dann php -f /cloud/cron.php richtig? Funktioniert nicht, lässt er auch gar nicht erst zu. Oder ich versteh was falsch.


    PhP ist einfach so nervig :/ Wenn man davon kaum ahnung hat und man nur schnell was für sich und seine Familie machen möchte ist das ein Graus dieses zeuch -.-

  • Ok habs... das is ja bescheuert...


    Funktioniert wie folgt:


    PhP-Script ausführen


    in die erste Spalte von beiden das eingeben: "cloud/cron.php"


    PhP 8.1 wählen


    Cron-Stil: */5 * * * *


    Und das wars... mehr ist das nicht... ich kenn das jedenfalls anders, auch andere Threads zeigen einem das so auf die teilweise nichtmal ein Jahr alt sind. Wurde also erheblich vereinfacht. Da wird man natürlich bescheuert beim Probieren dann ^^


    Dennoch danke euch beiden für die Hilfe :)

  • Vereinfacht wurde da gar nichts, das ist definitiv schon immer so möglich. Manche User haben es halt komplizierter gelöst :)

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

    Einmal editiert, zuletzt von KB19 ()

    Danke 1
  • usr/bin/php/ php -f /var/www/vhosts/hostingXXXXXX.a2fee.netcup.net/cloud/cron.php

    Das ist nicht PHP, das wäre dann "Befehl ausführen" und müsste so aussehen:

    Code
    /usr/local/php81/bin/php -f /cloud/cron.php

    Ungetestet, sollte aber passen.


    Für andere PHP-Versionen siehe auch: https://www.netcup-wiki.de/wik…erschiedene_PHP-Versionen

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

    Einmal editiert, zuletzt von KB19 ()

  • Hay,


    ok, dann nehme ich meinen Einwand auch wieder auf, denn ich sehe gerade noch etwas anderes im ersten Screenshot. Und zur Doku für zukünftige Suchen.


    Als php-Script ausführen ist eine eigene Option und das ist fein, da wird offensichtlich der php-Interpreter direkt aufgerufen und man muss nur den Pfad zum Script plus Parameter eingeben. Aber wenn man "als Befehl" ausführen gemacht hätte (das waren dann wohl die komplizierten Lösungen und die erste Variante für eigentlich VPS/root-Nutzer bzw. Leute, die üblicherweise mit crontab -e arbeiten) dann wäre ggf. das hier das richtige:


    Code
    /usr/bin/php -f cloud/cron.php

    und nicht


    Code
    /usr/bin/php/ php -f cloud/cron.php

    was da genau als /usr/bin/php stehen muss, bekommst Du auf der shell mit folgendem Befehl raus:


    Code
    php -i|grep -E "\['_'.*\]"



    unter $_SERVER['_'] findet man nämlich den Pfad zum php-Interpreter, selbst wenn ein which php nicht funktioniert


    CU, Peter

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

    3 Mal editiert, zuletzt von CmdrXay ()