Cron Job funktioniert nicht richtig

Ich habe den Cron Job eingerichtet, allerdings funktioniert er nicht richtig:

Es gibt einige Fehler in Ihrer
Systemkonfiguration.
• Letzte Cron-Job-Ausführung: Vor 12 Stunden.
Check the background job settings 7.

und

Letzte Aufgaben-Ausführung lief Vor 15 Stunden. Etwas scheint falsch zu sein.

crontab -u www-data -l:
*/5 * * * * php -f /var/www/nextcloud/cron.php
hab es auch mit: */5 * * * * php-cli -f /var/www/nextcloud/cron.php versucht.

Leider fehlen in Deiner Problembeschreibung essentielle Informationen zu Deiner Serverumgebung und den verwendeten Software-Versionen, sodass es schwer möglich ist eine Empfehlung abzugeben. Stelle sicher, dass “php”, “php-cli” oder wie auch immer Dein PHP-Kommandozeilenprogramm korrekt heißt, über einen absoluten Pfad korrekt aufgerufen werden kann.

@Skyfay oder setz die PATH Variable im entsprechenden crontab file.

alternativ gibt dir den output des cron befehls mal nach /tmp aus. einfach mal ein > /tmp/cron_php.log 2>&1 anhängen.

Ich verwende Linux Ubuntu, php 7.4 und MySQL.

/etc/php/7.4# ls 
apache2  cli  fpm  mods-available

Und wie lautet der “korrekte” Name des PHP-Kommandozeilenprogramms, dessen Pfad und Version?

# which php
# php -v

# which php7
# php7 -v

...

Which php = /usr/bin/php

php -v =

PHP 7.4.3 (cli) (built: Oct 25 2021 18:20:54) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Dann verwende doch einmal im Cronjob diesen Pfad und schaue was passiert.

Also */5 * * * * /usr/bin/php -f /var/www/nextcloud/cron.php ?

Yes, that way.

Noch immer der selbe fehler. Hat sich nichts geändert.

Bei welchem Nutzer hast du den Cronjob den eingetragen? Wäre gut, wenn das www-data macht, der auch die entsprechenden Rechte hat…

Müsste so stimmen oder, habe es halt nach den Anleitungen gemacht. crontab -u www-data -e
@swindhab

Das hatte ich überlesen. Sorry. Gibt denn “grep CRON /var/log/syslog” etwas aus?

Was macht " sudo -u www-data bash -c ‘/usr/bin/php -f /var/www/nextcloud/cron.php’ "?

Ja, er führt anscheinend alle 5 Minuten den Befehl aus:

Nov  3 18:45:01 srv21236 CRON[1787139]: (www-data) CMD (/usr/bin/php -f /var/www/nextcloud/cron.php)
Nov  3 18:50:01 srv21236 CRON[1787714]: (www-data) CMD (/usr/bin/php -f /var/www/nextcloud/cron.php)
etc
root@XY:/usr/bin# sudo -u www-data bash -c '/usr/bin/php -f /var/www/nextcloud/cron.php'
OC\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

Hmm, habe den Memcache eigentlich in der Config von Nextcloud und in der PHP Config aktiviert…

APCu ist im cli-Kontext normalerweise nicht direkt aktiv. Hier der Kommentar aus der Nextcloud-Doku:

APCu is disabled by default on CLI which could cause issues with nextcloud’s cron jobs. Please make sure you set the apc.enable_cli to 1 on your php.ini config file or append --define apc.enable_cli=1 to the cron job call.

Also bspw. in der /etc/php/x.x/cli/conf.d/20-apcu.ini die Zeile apc.enable_cli=1 ergänzen.

Alternativ den Job anpassen:
*/5 * * * * /usr/bin/php --define apc.enable_cli=1 -f /var/www/nextcloud/cron.php

Und das Paket “php-apcu” muss natürlich installiert sein.

Hab ich gemacht.

Ist bereits installiert.

Hmm, als ob das das Problem war. Scheint jetzt zu funktionieren.
Im Log steht, vor 2 Minuten wurde er ausgeführt und in Nextcloud jetzt auch.
image
Danke für die Hilfe

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.