Nach Upgrade auf 26.0.1 gibt es eine Fehlermeldung bezüglich Cron

Hallo zudsammen,
ich habe bei 1blu eine NC installation laufen. Die habe ich auf die Version 26.0.1 upgegradet.
Funktioniert prima, allerding bekomme ich dort Fehlermeldungen.
Letzte Cron-Job-Ausführung: Vor 2 Stunden.
Der ist nach wie vor da und wird auch in der Crontab mit allen 5 Minuten angezeigt.
Wenn ich jetzt dem Liunk dort folge bekomme ich die nächste Fehlermeldung.
Die letzte Aufgaben-Ausführung lief vor 2 Stunden. Etwas scheint falsch zu sein.
Jetzt ist aber etwas scheint falsch zu sein nicht so richtig hilfreich, mit der Fehlersuche habe ich lediglich etwas aus 2022 gefunden, da war der Hinweis einfach ignorieren.
Weiss irgend jemand was mir dieses System sagen will?
mfg
Hans

Hallo @Hans_Cilker1,

vermutlich wird der Cron-Job noch mit der PHP-Version 7.4 ausgeführt.
Auch wenn Du Deine Nextcloud-Installation auf PHP 8.* eingestellt hast, dann kann bei Deinem Anbieter immer noch die Version 7.4 global im Hintergrund laufen.
Kommst Du mit SSH auf Dein Hosting, um Befehle abzusetzen?

Gruß
Crashandy

Hi Andy
im crontab wird der Befehl mit php 8 abgesetzt und auch korrekt aufgerufen.
Ja ich komme mit ssh rein, aber wie bei 1 blue üblich über den sftp user, damit laufen z. B. alle occ befehle vor die wand und sudo geht bei denen leider auch nicht mehr.

Das sind ganz schlechte Voraussetzungen für den Betrieb einer Nextcloud.
Wie hast Du dann den Fehler “In der Datenbank fehlen einige Indizes.”, welcher beim Update auf Nextcloud 26.0.1 üblicher Weise auftritt korrigiert?

Kannst Du den Befehl “php -v” in der Konsole absetzen? Was steht dort bei Dir?

Dann musst du das sudo -u www-data - Zeug weglassen und die Befehle bei occ bzw. php starten lassen. Wird leider in der Dokumenation nicht wirklich erklärt. Wenn auch das nicht klappt, poste mal ein paar Fehlermeldungen.

Führe doch mal den Cron-Befehl auf der Kommandozeile von Hand aus. Poste auch hier ein paar Fehlermeldungen.

Hi Andy,
deswegen hatte ich ja vor langer Zeit erst mal mit 1blu getestet ob das passt, das aber nutzt mir mix wenn Nextcloud ständig irgend was ändert.
wenn ich deinen Befehl absetze kommt das:
PHP 8.1.2-1ubuntu2.11 (cli) (built: Feb 22 2023 22:56:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.11, Copyright (c), by Zend Technologies
ich sage mal das sollte eigentlich passen.
“In der Datenbank fehlen einige Indizes” ignoriere ich auf hohem niveau, seit die mir occweb weggenommen haben bin ich da ziemlich aufgeschmissen.
Auch "Strict-Transport-Security“ und opcache.interned_strings_buffer muß ich auf hohem neveau ignorieren, das geht bei der Hosting lösung alles nicht, nur als ich die NC installiert hatte ging alles, aber jetzt kann ich den Müll ignorieren, oder Daten exportieren, die NC löschen und neu generieren lassen, sonst bekomme ich die Fehler nicht weg.
Wenn ich irgendetwas mit Sudo probiere kommt:
sudo: The “no new privileges” flag is set, which prevents sudo from running as root.
direkt funktionieren die occ Befehle allerdings auch nicht
und der Fehler mit dem Cron tritt auch auf meiner Synolgy Nextcloud auf. auch da steht php auf php80
Alles eine große braune Masse.
alles Gute
Hans
zurück auf 25.0.6 und es rennt wieder.

So wie @devnull schon geschrieben hat, müsstest Du es einfach einmal manuell versuchen.
Bei netcup setze ich immer den nachfolgenden Befehl ab und es funktioniert.

php -d memory_limit=512M /httpdocs/nextcloud/cron.php

oder ohne temporäre Speichererhöhung

php /httpdocs/nextcloud/cron.php

Wie ist Dein Nextcloud-Pfad?

Auf der Synology funktioniert es bei mir mit dem Aufgabenplaner alle 5 Minuten perfekt mit diesem Befehl:

sudo -u http php80 /volume1/web/nextcloud/cron.php

Hier noch zwei schöne Beispiele von Nextcloud-Instanzen, welche seit der Nextcloud Version 10 (2016) dort laufen.

Bei mir sudo -u http php80 /var/services/web/HansNC/nextcloud/cron.php
aber das geht nur noch mit der 25.0.6, nicht mit der 26

Hallo dev
im Verzeichnis meiner NC ist das occ nicht ausführbar
-rw-r–r-- 1 ftpxxxxxxxxx users 283 Apr 19 17:38 occ
wenn ich das ausführbar mache:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /hp/bv/ab/tb/www/NC/lib/private/DB/Connection.php:142
der ganze Rest geht dann auf error
warum wieso, ich weiß es nicht.

Okay, das geht natürlich auch. Bei mir ist es der physische Pfad ohne Symlink.

2023-05-16 14_06_25-web Eigenschaften

Versuchen kannst Du es ja noch mit den nachfolgenden Befehlen, um eventuell die Ursache zu klären.

sudo -u http /usr/local/bin/php80 -f /volume1/web/HansNC/nextcloud/cron.php
/bin/su -s /bin/sh -c "/usr/local/bin/php80 -f /var/services/web/HansNC/nextcloud/cron.php" http

Bei mir funktionieren alle Varianten.

Hallo Zusammen,
in der crontab steht folgendes:
*/5 * * * * /opt/php8/bin/php -f /hp/bv/ab/tb/www/NC/cron.php
das finktionierte auch mit der 25 er perfekt
wenn ich das von Hand starte:
/opt/php8/bin/php -f /hp/bv/ab/tb/www/NC/cron.php
Created directory: /var/lib
Created directory: /var/lib/snmp
Created directory: /var/lib/snmp/cert_indexes
wäre mir neu das ich da Verzeichnisse kreieren darf, aber gut
wenn ich es dann erneut starte:
/opt/php8/bin/php -f /hp/bv/ab/tb/www/NC/cron.php
keine Fehlermeldung!
ob das jetzt heißt das es läuft…

Könntest Du eventuell diese Schritte einmal bei Dir ausprobieren?

  1. cd /
  2. cd /hp/bv/ab/tb/www/NC/
  3. ls -al
  4. php occ db:add-missing-indices

Es sollte dann eigentlich so ähnlich aussehen:

bash-5.0$ cd /
bash-5.0$ cd /hp/bv/ab/tb/www/NC/
bash-5.0$ ls -al
total 192
drwxr-xr-x 15 hosting123456 psacln  4096 Apr 25 09:20 .
drwxr-xr-x  3 hosting123456 psacln  4096 Apr 20 13:50 ..
drwxr-xr-x 45 hosting123456 psacln  4096 Apr 20 12:43 3rdparty
drwxr-xr-x 59 hosting123456 psacln  4096 May 13 10:42 apps
-rw-r--r--  1 hosting123456 psacln 19327 Apr 19 15:38 AUTHORS
drwxr-xr-x  2 hosting123456 psacln  4096 Apr 20 12:44 config
-rw-r--r--  1 hosting123456 psacln  4095 Apr 19 15:38 console.php
-rw-r--r--  1 hosting123456 psacln 34520 Apr 19 15:38 COPYING
drwxr-xr-x 24 hosting123456 psacln  4096 Apr 20 12:43 core
-rw-r--r--  1 hosting123456 psacln  6317 Apr 19 15:38 cron.php
drwxr-x---  6 hosting123456 psacln  4096 Apr 20 13:51 data
drwxr-xr-x  2 hosting123456 psacln 16384 Apr 20 12:43 dist
-rw-r--r--  1 hosting123456 psacln  4428 Apr 20 12:44 .htaccess
-rw-r--r--  1 hosting123456 psacln   156 Apr 19 15:38 index.html
-rw-r--r--  1 hosting123456 psacln  3456 Apr 19 15:38 index.php
drwxr-xr-x  6 hosting123456 psacln  4096 Apr 20 12:43 lib
-rw-r--r--  1 hosting123456 psacln   162 Apr 25 09:08 nproc.php
-rw-r--r--  1 hosting123456 psacln   283 Apr 19 15:38 occ
drwxr-xr-x  2 hosting123456 psacln  4096 Apr 20 12:43 ocm-provider
drwxr-xr-x  2 hosting123456 psacln  4096 Apr 20 12:43 ocs
drwxr-xr-x  2 hosting123456 psacln  4096 Apr 20 12:43 ocs-provider
-rw-r--r--  1 hosting123456 psacln  3187 Apr 19 15:38 public.php
-rw-r--r--  1 hosting123456 psacln  5597 Apr 19 15:38 remote.php
drwxr-xr-x  4 hosting123456 psacln  4096 Apr 20 12:43 resources
-rw-r--r--  1 hosting123456 psacln    26 Apr 19 15:38 robots.txt
-rw-r--r--  1 hosting123456 psacln  2452 Apr 19 15:38 status.php
drwxr-xr-x  3 hosting123456 psacln  4096 Apr 20 12:43 themes
drwxr-xr-x  2 hosting123456 psacln  4096 Apr 20 12:44 updater
-rw-r--r--  1 hosting123456 psacln   101 Apr 19 15:38 .user.ini
-rw-r--r--  1 hosting123456 psacln   383 Apr 19 15:42 version.php
bash-5.0$ php occ db:add-missing-indices
The current PHP memory limit is below the recommended value of 512MB.
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Check indices of the schedulingobjects table.
Check indices of the oc_properties table.
Check indices of the oc_jobs table.
Check indices of the oc_direct_edit table.
Check indices of the oc_preferences table.
Check indices of the oc_mounts table.
Done.
bash-5.0$

1 -3 jupp, aber dann:
An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /hp/bv/ab/tb/www/NC/lib/private/DB/Connection.php:142
Stack trace: und dann jede Menge Zeilen mehr an Fehlern

Verbindung zur Datenbank fehlgeschlagen. Das ist sehr komisch.
Versuch mal die folgenden Befehle, ob dabei dieselbe Fehlermeldung kommt.

/opt/php8/bin/php occ db:add-missing-indices

oder mit vollständigem Pfad

/opt/php8/bin/php /hp/bv/ab/tb/www/NC/occ db:add-missing-indices

Nein, erste Version:
/opt/php8/bin/php occ db:add-missing-indices
Created directory: /var/lib
Created directory: /var/lib/snmp
Created directory: /var/lib/snmp/cert_indexes
Could not open input file: occ
zweite Version:
/opt/php8/bin/php /hp/bv/ab/tb/www/NC/occ db:add-missing-indices
An unhandled exception has been thrown:
TypeError: ini_set(): Argument #2 ($value) must be of type string, int given in /hp/bv/ab/tb/www/NC/lib/base.php:5
Stack trace:
#0 /hp/bv/ab/tb/www/NC/lib/base.php(5): ini_set(‘session.gc_prob…’, 1)
#1 /hp/bv/ab/tb/www/NC/console.php(48): require_once(‘/hp/bv/ab/tb/ww…’)
#2 /hp/bv/ab/tb/www/NC/occ(11): require_once(‘/hp/bv/ab/tb/ww…’)

Die von 1 Blu haben zumindest den Cron geprüft:
Der Cronjob
/opt/php8/bin/php -f /hp/bv/ab/tb/www/NC/cron.php
wird alle fünf Minuten gestartet. sagen die und die Nextcloud Fehler Meldung sagt ja könnte fehlerhaft sein…
irgend wie kommt mir das Ganze nicht so richtig Stabel vor…

Habe gerade mal auf der Syno den Cronjob gestartet, auch der läuft fehlerfrei durch, aber die 26er nextcloud behauptet er wäre nicht gelaufen.
Wofür ist der überhaupt gut, bzw. was passiert wenn der nicht läuft?

Kannst Du hier einmal einen Screenshot posten, von der Fehlermeldung auf der Synology?
Erscheinen diese Cron-Meldungen auch im Protokoll?
Auf der Synology könntest Du einmal diesen Befehl eingeben und das Ergebnis hier posten.

sudo -u http php80 /volume1/web/HansNC/nextcloud/occ background-job:list

Eventuell ist auch nur eine Hintergrund-Aufgabe betroffen und der Rest wurde planmäßig ausgeführt.
Ich hatte das schon einmal bei einem längeren Ausfall des Server-Systems, genau zu dem Zeitpunkt, als eine täglich wiederkehrende Aufgabe ausgeführt werden sollte. Da war allerdings der Spuk am nächsten Tag vorbei.
Eine weitere Ursache könnte auch sein, dass Deine Nextcloud einmal für mehrere Stunden oder Tage im Wartungsmodus war. Es gibt auch Hintergrund-Aufgaben, welche nur einmal im Monat oder alle 14 Tage ausgeführt werden. Das ist zum Beispiel das Entfernen von gelöschten Dateien aus dem “Papierkorb”.

Wenn bei Deinem Ergebnis hier ein älteres Datum zu sehen ist, dann kann es schon daran liegen.

+----+---------------------------------------------------+---------------------------+----------+
| id | class                                             | last_run                  | argument |
+----+---------------------------------------------------+---------------------------+----------+
| 1  | OCA\Files_Versions\BackgroundJob\ExpireVersions   | 2023-05-16T16:45:04+00:00 | null     |
| 2  | OCA\Activity\BackgroundJob\EmailNotification      | 2023-05-16T16:45:11+00:00 | null     |
| 3  | OCA\Activity\BackgroundJob\ExpireActivities       | 2023-05-16T01:30:12+00:00 | null     |
| 4  | OCA\Files_Trashbin\BackgroundJob\ExpireTrash      | 2023-05-16T16:40:10+00:00 | null     |
| 5  | OCA\Federation\SyncJob                            | 2023-05-16T10:40:10+00:00 | null     |
| 6  | OCA\Files\BackgroundJob\ScanFiles                 | 2023-05-16T16:35:06+00:00 | null     |
| 7  | OCA\Files\BackgroundJob\DeleteOrphanedItems       | 2023-05-16T15:50:11+00:00 | null     |
| 8  | OCA\Files\BackgroundJob\CleanupFileLocks          | 2023-05-16T16:45:06+00:00 | null     |
| 17 | OCA\UpdateNotification\Notification\BackgroundJob | 2023-05-16T09:15:09+00:00 | null     |
+----+---------------------------------------------------+---------------------------+----------+

Soweit komme ich nicht, Fehlermeldung:
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
wenn ich in den Taskplaner gehe, sehe ich dort den Task da sehe ich auch, nächste Ausführung 19:10 und die rufen den script in der Nextcloud sauber auf, sowohl in der Syno als auch bei 1 blu und das alle 5 Minuten.
Das aber hält die Nextcloud nicht davon ab zu behaupten es sei Tage bei der Syno und Stunden bei der 1blu her. Nur dieser Fehler tritt definitiv nur bei der 26er auf, die 25 lief reibungslos was den cron anging. Da das script sauber aufgerufen wird, was auch 1blu bestätigt, ist entweder das Script im Arsch, oder aber die Sicherheits- & Einrichtungswarnungen der Nextcloud. Die Fehlermeldung nach wie vor, “Die letzte Aufgaben-Ausführung lief vor 10 Stunden. Etwas scheint falsch zu sein.” scheint falsch zu sein, eventuell ist die einfach falsch, aber da ich weder weiß was das Cron tut, bzw. wozu der überhaupt gut ist macht es mich etwas unruhig…