Cronjob Nextcloud funktioniert nicht wie er soll

Hallo zusammen,

Nextcloud version: Nextcloud Hub 3 (25.0.4)
Operating system and version: Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-67-generic x86_64)
Apache or nginx version: eigner Docker Container mit nginx Proxy Manager
PHP version (eg, 7.4): 8.1.2

Nextcloud läuft in einem Docker Container.

Ich hatte Probleme beim Einrichten des CronJobs wie hier beschrieben.
Also hab ich stattdessen im crontab folgenden Eintrag angelegt, mit dem es dann vorerst auch funktionierte.

*/5 * * * * wget -q --spider http://192.168.241.50:8989/cron.php

nach ein oder 2 Tagen kam allerdings bei den Grundeinstellungen die Meldung:

Some jobs have not been executed since vor xx Tagen. Please consider increasing the execution frequency.

dachte zunächst das liegt daran das ich in dem crontab die cron.php über wget aufrufe, also versuchte ich es so wie in der Doku beschrieben zum laufen zu bekommen.
daran bin ich allerdings bis jetzt gescheitert.
beim Ausführen der Datei als www-data User scheitert es daran, das der Benutzer keine Berechtigung auf den Docker Ordner hat in dem alles liegt.
beim Ausführen als root user kommt folgende Fehlermeldung:

Exception: Not installed in /var/lib/docker/volumes/nextcloud/_data/lib/base.php:284
Stack trace:
#0 /var/lib/docker/volumes/nextcloud/_data/lib/base.php(680): OC::checkInstalled()
#1 /var/lib/docker/volumes/nextcloud/_data/lib/base.php(1144): OC::init()
#2 /var/lib/docker/volumes/nextcloud/_data/cron.php(43): require_once(‘…’)
#3 {main}

In den logs des Crontabs oder der Nextcloud kann ich sonst nichts dazu finden.
In den andern Threads die dasselbe Problem hatten konnte ich leider auch keine passende Lösung finden.

Wäre für etwas Hilfe sehr dankbar.

Außerdem hab ich noch eine weitere Nextcloud auf einem QNAP NAS laufen, auch in einem Docker Container und den crontab so konfiguriert das dieser die cron.php über wget aufruft, bei dieser kam auch nach 1 oder 2 Tagen dieselbe Fehlermeldung (Some jobs have not been executed since vor xx Tagen. Please consider increasing the execution frequency.)
Ich vermute das deshalb auf dieser Instanz die Backup Funktion auch nicht funktioniert.

Vielen Dank für eure Hilfe schonmal.

Grüße
Kainze

das hier schon probiert?

here: Clarification Regarding Cron Jobs & Setup/Config - #13 by norsemangrey
and here: → Docker setup & cron - #10 by maste9

1 Like

entschuldige die späte Antwort, am Samstag funktioniert die Antwort Funktion in dem Thread bei mir nicht.
wenn ich die cron.sh ausführe, dann werden die Jobs ausgeführt und die Meldung
“Some jobs have not been executed since vor x Tagen. Please consider increasing the execution frequency.”
verschwindet auch, allerdings kommt Sie dann nach ein paar Tagen wieder.
habe auch versucht die cron.sh Datei im Cronjob im Container, hinzu zufügen, aber das scheint nicht zu funktionieren.
die cron.sh vom System Crontab auszuführen bin ich mir nicht ganz sicher ob das so richtig ist, da die ja unter dem Pfad lib/docker/overlay2/ und einer ID liegt.
Bei der Nextcloud Instanz auf dem QNAP NAS, habe ich Freitag die cron.sh einmalig ausgeführt und scheint jetzt alles zu funktionieren.
Das probiere ich auf meinem Ubuntu System auch nochmal evtl habe ich da nur den falschen User dafür verwendet.

okey habe endlich die Lösung für den Cronjob der Nextcloud in einem Docker Container gefunden.
im crontab des root users muss folgende Zeile hinzugefügt werden:
*/5 * * * * docker exec -u www-data *containername* php /var/www/html/cron.php

Laut diesem Thread wäre Best Practice den CronJob in einem eigenen Container auszuführen, funktioniert mit dem Nextcloud container bei mir allerdings aktuell auch.