Nextcloud snap: Cron läuft dauerhaft durch

Moin Moin,
meist geht es ja darum, dass der Cron nicht läuft. Bei mir ist das Gegenteil der Fall.

Vielleicht kann mir ja jemand helfen.
Vielen Dank im Voraus!

Die Software

  • Ubuntu 24.04.1 LTS
  • nextcloud 29.0.7snap1
  • 2 user

Das Problem

Nach einem Hardwaredefekt an der Festplatte läuft der cron-job ( nextcloud.nextcloud-cron) ohne Pause: In den Grundeinstellungen des Webinterfaces zeigt es sich durch:
Die letzte Aufgabe lief vor Sekunden.

Stoppe ich cron mit
snap stop nextcloud.nextcloud-cron,
geht die System-Load des Servers in den Keller und erhalte ich einige Zeit später:
Die letzte Aufgaben-Ausführung lief vor xx Minuten. Etwas scheint falsch zu sein.
Ironischerweise ist das richtig. :wink:

Ajax läuft korrekt, wenn nextcloud.nextcloud-cron gestoppt ist. Doch wird der cron-job nur über das Webinterface ausgelöst. Aufrufe webdav und caldav werden ignoriert. Da ich das Webinterface nicht täglich benutze, scheidet diese Möglichkeit aus.

Webcron funktioniert gar nicht.

Fragen

  • Wo schreibt der snap-nextcloud-cron seine Konfiguration hin?
    Da finde ich vielleicht Inkonsistenzen.
  • Wie ändert man an der Kommandozeile das Cron-Programm?
    Vielleicht erscheinen ja Fehlermeldungen…
  • Gibt es einen nextcloud.occ-Befehl zur Reparatur speziell des Crons?

Weitere Infomationen

snap get nextcloud nextcloud        
Key                      Value
nextcloud.cron-interval  15
journalctl -b
Sep 26 16:32:26 next systemd[1]: Started snap.nextcloud.nextcloud-cron.service - Service for snap application nextcloud.nextcloud-cron.
Sep 26 16:32:26 next nextcloud.nextcloud-cron[258692]: Waiting for Nextcloud config dir... done
Sep 26 16:35:01 next CRON[259825]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)
Sep 26 16:35:01 next CRON[259826]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Sep 26 16:35:01 next CRON[259825]: pam_unix(cron:session): session closed for user root
Sep 26 16:39:01 next CRON[262207]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)
Sep 26 16:39:01 next CRON[262208]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Sep 26 16:39:01 next CRON[262207]: pam_unix(cron:session): session closed for user root
Sep 26 16:39:11 next systemd[1]: Starting phpsessionclean.service - Clean php session files...
Sep 26 16:39:11 next systemd[1]: phpsessionclean.service: Deactivated successfully.
Sep 26 16:39:11 next systemd[1]: Finished phpsessionclean.service - Clean php session files.
Sep 26 16:42:26 next systemd[1]: Stopping snap.nextcloud.nextcloud-cron.service - Service for snap application nextcloud.nextcloud-cron...
Sep 26 16:42:26 next systemd[1]: snap.nextcloud.nextcloud-cron.service: Deactivated successfully.
Sep 26 16:42:26 next systemd[1]: Stopped snap.nextcloud.nextcloud-cron.service - Service for snap application nextcloud.nextcloud-cron.
Sep 26 16:42:26 next systemd[1]: snap.nextcloud.nextcloud-cron.service: Consumed 42.336s CPU time.

Kommentar: Consumed 42.336s CPU time erscheint für 10 Minuten Laufzeit hoch.

Servus @wuesti,

die cron Befehle findest du im Wiki unter managing cron.

Einige “non-default-apps” lassen cron ab 29.0.5 abschmieren siehe FAQ’s da hatte ich auch ein paar fiese cron crashes . Bei mir fulltextsearch, news etc. da musst du die Logs durchforsten. Schau ruhig mal durch die geschlossenen Issues in unserem GitHub.

Am besten du lässt den debugging script einmal drüber laufen (mit >> umleiten in eine text datei), dann kannst du das in einem beliebigen text viewer in aller ruhe studieren.

Als quick & dirty kannste mal;

sudo nextcloud.occ background:cron

probieren… ansonsten hier ein kleiner Skript zum prüfen und neu starten für crontab…

@wuesti,

ach ja…

“da kommst du nisch rein!” :sunglasses: :rofl:

Vielen Dank scubamuc!

Ich fang mal von hinten an.

… ergab schon mal eine teils rot unterlegte Warnung:

nextcloud.occ background:cron -vvv

In AppConfig.php line 823:
                                                           
  [OCP\Exceptions\AppConfigTypeConflictException]          
  conflict between new type (mixed) and old type (string)  
                                                           

Exception trace:
  at /snap/nextcloud/44391/htdocs/lib/private/AppConfig.php:823
 OC\AppConfig->setTypedValue() at /snap/nextcloud/44391/htdocs/lib/private/AppConfig.php:1360
 OC\AppConfig->setValue() at /snap/nextcloud/44391/htdocs/lib/private/AllConfig.php:208
 OC\AllConfig->setAppValue() at /snap/nextcloud/44391/htdocs/core/Command/Background/Base.php:66
 OC\Core\Command\Background\Base->execute() at /snap/nextcloud/44391/htdocs/3rdparty/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at /snap/nextcloud/44391/htdocs/3rdparty/symfony/console/Application.php:1040
 Symfony\Component\Console\Application->doRunCommand() at /snap/nextcloud/44391/htdocs/3rdparty/symfony/console/Application.php:301
 Symfony\Component\Console\Application->doRun() at /snap/nextcloud/44391/htdocs/3rdparty/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at /snap/nextcloud/44391/htdocs/lib/private/Console/Application.php:213
 OC\Console\Application->run() at /snap/nextcloud/44391/htdocs/console.php:102
 require_once() at /snap/nextcloud/44391/htdocs/occ:11

background:cron

non-default-apps

Ich habe mal alle nicht “vorgestellten” Apps deaktiviert und den nextcloud-cron neu gestartet. Er scheint normal zu laufen. Doch die Grundeinstellungen melden weiterhin
Die letzte Aufgabe lief vor Sekunden.

Ich hatte von den erwähnten aber nur richdocuments

Ajax

Hierbei fällt auf, dass das Umschalten auf Ajax nur funktioniert, wenn der netxtcloud-cron an der Kommandozeile gestoppt ist.

@wuesti,

wenn du den snap-cron-dienst partout deaktivieren möchtest, siehe Managing services spricht wohl nichts dagegen… dann könntest du Ajax verwenden.

Inzwischen ist das aber auch eine “recommended-app”… und funktioniert mit CODE & Nextcloud Office configuration einwandfrei. jedenfalls gibt es keine bekannten issues zur Zeit.

Wenn du dem Ganzen auf die Schliche kommst oder Unterstützung von unseren Devs brauchst, dann kannst du auch gerne auf unserem GitHub posten…

Das war nur ein Hinweis, dass da was nicht stimmt.

Das bezog sich auf die Apps in dem verlinkten GitHub-Post.

Frage zum Protokoll

Schalte ich die Protokollstufe Fehlersuche ein, ballert cron durchgängig pro Minute ca. 250 Meldungen heraus. Sie sehen eigentlich normal aus. Unter 4254 Meldungen sind …

  • 256 Starting job …
  • 1486 CLI cron call has selected job …
  • 256 Finished job …

Ist das normal?

nein das ist nicht normal, aber ohne Logs wird das schwer zu sagen woher der log-spam kommt.

da sind einige issues hier im Forum aufgetaucht seit 29.0.x. diese sind aber keine snap-issues sondern eher upstream Probleme.

Ich glaube ich habe den Fehler:

snap set nextcloud nextcloud.cron-interval=10 
root@next ~ # ps ax | grep sleep                                
 731739 ?        S      0:00 sleep 1d
 793776 ?        S      0:00 sleep 10
 793779 ?        S      0:00 sleep 1

snap set nextcloud nextcloud.cron-interval=100
ps ax | grep sleep
 731739 ?        S      0:00 sleep 1d
 794233 ?        S      0:00 sleep 100
 794235 ?        S      0:00 sleep 1

Schlussfolgerung

Laut Managing cron · nextcloud-snap/nextcloud-snap Wiki · GitHub soll der Wert für nextcloud.cron-interval in Minuten eingegeben werden, er wird aber als Sekunden interpretiert.

1 Like

vielen Dank dafür… wurde im Wiki managing cron ergänzt vergl. readme