Nextcloudhub 21.0.1 und cron

jck42

Benutzer
Mitglied seit
18. Mrz 2012
Beiträge
25
Punkte für Reaktionen
9
Punkte
53
@Tuxnet: Danke für den Fingerzeig! Wie/womit kommst du denn an die schönen graphischen Darstellungen zum Cache? Sowas fände ich bei mir auch prima.

Ich habe mal die selbe Konfig angewendet und damit läuft es auch im Normalzustand bei mir. Aber sobald ich etwas intensivere Dinge mache, wie z.B. ein Office Dokument öffne (per Nextcloud Office Anbindung mit einem CODE-Server als Docker-Container), wurde mein Log mit Fehlermeldungen zugemüllt (RedisException: OOM command not allowed when used memory > 'maxmemory'.) und es kommen 500er Fehler und das Laden von Office schlägt fehl.

Ich habe daraufhin per redis-cli den maxmemory erhöht. Für alle, die sich (so wie ich) noch nie vorher damit beschäftigt haben: Das geht im Falle des SynoCommunity packages von der shell aus per:

Code:
redis-cli
127.0.0.1:6379> config get maxmemory
127.0.0.1:6379> config set maxmemory 100M

Vorher war anscheinend mein used_memory aus irgendeinem Grund größer als maxmemory, was anscheinend für die Probleme sorgte. Sicherheitshalber habe ich auch noch per redis-cli den Cache geflusht:

Code:
127.0.0.1:6379> flushall

Im Moment gehen jetzt alle Funktionen - auch CODE-Server-Anbindung - mit Redis-Cache config wie von Tuxnet beschrieben. Mal sehen, ob das jetzt so bleibt, oder das wieder überläuft...es ist schon nervig, dass man jedesmal, wenn man treu und vorbildlich auf eine aktualisierte Nextcloud-Version updatet, man bangen muss, welche "Überraschungen" man jetzt wieder fixen muss.
 
  • Like
Reaktionen: Tuxnet

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
585
Punkte für Reaktionen
68
Punkte
48
Perfekt 👍
Ich habe mal beide *.php Dateiein als zip in den Anhang gepackt 😃
 

Anhänge

  • redis.zip
    13,8 KB · Aufrufe: 23
Zuletzt bearbeitet:
  • Like
Reaktionen: jck42

jck42

Benutzer
Mitglied seit
18. Mrz 2012
Beiträge
25
Punkte für Reaktionen
9
Punkte
53
@Tuxnet: Vielen Dank!! Funktioniert prima. (y)


apcu.pngredis.png

Das Peak Memory (alte Statistik) lag über dem maxmemory Wert, daher gab es vorher anscheinend Probleme.
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Naaabend. Ich hatte nach Aktualisierung des Synology PHP 7.4 und Nextcloud auf 21.0.3 das gleiche Problem:

Entweder:
  • APCu geht - dann geht cron nicht (APCu scheinbar nicht nutzbar per CLI)
Oder:
  • APCu-Memcache in config.php auskommentiert, dann geht cron, aber die Übersicht meckert, dass kein PHP-Cache aktiviert ist.
Fehlermeldungen im log gab es natürlich keine!

Ich habe eine Lösung gefunden, die es erlaubt, beides zu nutzen:
  1. Code:
    In der config.php kann 'memcache.local' => '\\OC\\Memcache\APCu', als Zeile bleiben (muss nicht mehr auskommentiert werden)
  2. Code:
    /usr/local/etc/php74/cli/php.ini editieren: in der Sektion [apc] den Parameter apc.enable_cli = 1 setzen (steht per default auf 0)
  3. Code:
    /usr/local/etc/php74/cli/conf.d/extension.ini editieren: als erste Zeile extension = apcu.so hinzufügen
Diese Lösung sollte bis zum nächsten PHP 7.4 Update halten...kommen ja nicht allzu oft. Hat bei mir funktioniert - your mileage may vary.

Grüße
jck42

Guten Morgen,
ich nutze eine DS218+ und habe nextcloud 24.04 auf meiner nas installiert. Leider funktioniert bei mir die Cron Jobs auch nicht. In den Einstellungen von nextcloud erhalte ich die Fehlermeldung
Code:
Letzte Aufgaben-Ausführung lief Vor 11 Stunden. Etwas scheint falsch zu sein

Ich habe auch PHP 7.4 und apache 2.4 am laufen. Ich habe es nach deiner Anleitung @jck42 befolgt. Lieder funktioniert es nicht. Habt ihr eine Idee, was ich noch ändern könnte?
Anbei meine Config.
lg Coldjack
 

Anhänge

  • Bildschirmfoto 2022-08-23 um 09.07.46.png
    Bildschirmfoto 2022-08-23 um 09.07.46.png
    376,2 KB · Aufrufe: 9

OdinsAuge

Benutzer
Mitglied seit
12. Nov 2015
Beiträge
362
Punkte für Reaktionen
30
Punkte
34
Was sagt deine DS? Ich habe seit einiger Zeit das Problem, dass hin und wieder der Cron stecken bleibt.
Im Protokoll-Center steht dann, dass der Aufgabenplaner die Aufgabe nicht ausführen konnte, weil die letzte Aufgabe noch läuft. Da hilft dann nur ein Neustart der DS.

Ich habe das Ausführungsintervall der Cron-Aufgabe erhöht (von 5 auf 10 Minuten). Außerdem scheint es ratsam zu sein die Aufgabe zu deaktivieren ehe man ein Update ausführt.
 

jck42

Benutzer
Mitglied seit
18. Mrz 2012
Beiträge
25
Punkte für Reaktionen
9
Punkte
53
Hallo @coldjack,

das Gesamtthema cron/cache ist für mich auch bei jedem (gefühlt wöchentlichem) Update auch immer wieder ein Thema. Aktuell läuft das bei mir so:

Versionsnummern:
  • DS918+
  • DSM 6.2.4-25556 Update 6
  • PHP 7.4.9-0006
  • Redis Community Package von DigitalBox98 in Version 7.0.2-1
  • Nextcloud 24.0.4
  • Apache 2.4.43-0015
Cron-Befehl:

sudo -u http php74 -f /volume1/web/(NEXTCLOUDPFAD)/cron.php

Den kann man auch mal einfach auf der Command Line ausprobieren, um zu sehen, ob der durchläuft oder es vielleicht Probleme mit dem PHP74-CLI MaxMemory gibt.

Config.php (relevante Sektion):

PHP:
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => true,
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => '6379',
'dbindex' => 0,
'timeout' => '1.5',
),

Unter /usr/local/etc/php74/cli/conf.d/user_settings.ini habe ich dazu noch folgendes zur Anpassung von PHP74-CLI:

PHP:
extension = apcu.so
extension = redis.so

[core]
memory_limit = 2048M
upload_max_filesize = 16G
post_max_size = 16G

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

[redis]
redis.session.locking_enabled=1
redis.session.lock_retries=-1
redis.session.lock_wait_time=10000

Ich hoffe, ich habe nichts vergessen. Vielleicht hilft das oder gibt zumindest einen Hinweis, wie eine Lösung funktionieren könnte.

Viel Glück!

Edit: "user_settings.ini" war falsch geschrieben. Mit Underscore ist richtig, nicht mit Bindestrich.
 
Zuletzt bearbeitet:

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Hallo @coldjack,

das Gesamtthema cron/cache ist für mich auch bei jedem (gefühlt wöchentlichem) Update auch immer wieder ein Thema. Aktuell läuft das bei mir so:

Versionsnummern:
  • DS918+
  • DSM 6.2.4-25556 Update 6
  • PHP 7.4.9-0006
  • Redis Community Package von DigitalBox98 in Version 7.0.2-1
  • Nextcloud 24.0.4
  • Apache 2.4.43-0015
Cron-Befehl:

sudo -u http php74 -f /volume1/web/(NEXTCLOUDPFAD)/cron.php

Den kann man auch mal einfach auf der Command Line ausprobieren, um zu sehen, ob der durchläuft oder es vielleicht Probleme mit dem PHP74-CLI MaxMemory gibt.

Config.php (relevante Sektion):

PHP:
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => true,
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => '6379',
'dbindex' => 0,
'timeout' => '1.5',
),

Unter /usr/local/etc/php74/cli/conf.d/user-settings.ini habe ich dazu noch folgendes zur Anpassung von PHP74-CLI:

PHP:
extension = apcu.so
extension = redis.so

[core]
memory_limit = 2048M
upload_max_filesize = 16G
post_max_size = 16G

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

[redis]
redis.session.locking_enabled=1
redis.session.lock_retries=-1
redis.session.lock_wait_time=10000

Ich hoffe, ich habe nichts vergessen. Vielleicht hilft das oder gibt zumindest einen Hinweis, wie eine Lösung funktionieren könnte.

Viel Glück!

Hallo,
danke für eure Vorschläge:
also,
Code:
sudo -u http php74 -f /volume1/web/nextcloud/cron.php
läuft durch ohne Probleme. Meine DSM zeigt im Protokoll nicht ausgewöhnliches an. Ich habe kein Redis installiert. Anbei noch mein Aufgabenplaner, habe es jetzt auf 10 Minuten geändert.
Das komisch, in Nextcloud wird zwischendurch cron als funktionierend (grün) angezeigt, nach einer gewissen Zeit ist es wieder auf rot.
 

Anhänge

  • Bildschirmfoto 2022-08-23 um 10.08.59.png
    Bildschirmfoto 2022-08-23 um 10.08.59.png
    403,1 KB · Aufrufe: 7

jck42

Benutzer
Mitglied seit
18. Mrz 2012
Beiträge
25
Punkte für Reaktionen
9
Punkte
53
Wenn du den cron-Befehl auf der Kommandozeile ausführst (und der durchläuft), ist es nicht verwunderlich, dass Nextcloud kurz danach erst einmal ein grünes Häkchen zeigt. Die Installation weiss ja nicht, ob das manuell oder per cron durchgeführt wurde. Ich würde vermuten, dass dein im Aufgabenplaner eingetragene (andere) Befehl nicht korrekt funktioniert.

Vielleicht einfach mal probieren, ob nicht der einfache Befehl auf so im Aufgabenplaner funktioniert?
Zeitplan-Einstellungen checken?

Bild_2022-08-23_103212079.pngBild_2022-08-23_103347108.png
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Unter /usr/local/etc/php74/cli/conf.d/user-settings.ini habe ich dazu noch folgendes zur Anpassung von PHP74-CLI:
Die Datei war bei mir leer, ich habe deine jetzt bis auf Redis übernommen. Ich werde mal schauen und ansonsten gleich berichten ;)
 

OdinsAuge

Benutzer
Mitglied seit
12. Nov 2015
Beiträge
362
Punkte für Reaktionen
30
Punkte
34
Das ist OK, die Datei war bei mir auch leer bzw. hat noch nicht existiert.

Bei mir haben folgende Zeilen gereicht:
extension = apcu.so [apc] apc.shm_size = 512M apc.enable_cli = 1

Hab aber zwei Rückmeldungen bekommen wo's nicht funktioniert hat.
Das Problem bei Synology ist, dass man gewisse Settings an verschiedenen Stellen konfigurieren kann.
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Hallo,
erstmal danke für eure schnellen Antworten.
Ich habe jetzt nochmal alles überprüft:
Anbei meine Einstellungen:
Code:
 /usr/local/etc/php74/cli/conf.d/user-settings.ini                          
extension = apcu.so

[core]
memory_limit = 2048M
upload_max_filesize = 16G
post_max_size = 16G

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Das verrückte, @OdinsAuge in deinem Blog wird von user_settings.ini geschrieben.
Die habe auch angepasst. Hier im Forum wird von user-settings.ini geschrieben.
Code:
/usr/local/etc/php74/cli/conf.d/user_settings.ini                            
extension = apcu.so

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Ich versuch sonst gleich mal redis zu installieren.
 

Anhänge

  • Bildschirmfoto 2022-08-23 um 11.22.22.png
    Bildschirmfoto 2022-08-23 um 11.22.22.png
    117,2 KB · Aufrufe: 10
  • Bildschirmfoto 2022-08-23 um 11.21.57.png
    Bildschirmfoto 2022-08-23 um 11.21.57.png
    411,7 KB · Aufrufe: 9
  • Bildschirmfoto 2022-08-23 um 11.21.30.png
    Bildschirmfoto 2022-08-23 um 11.21.30.png
    332,9 KB · Aufrufe: 10
  • Bildschirmfoto 2022-08-23 um 11.27.32.png
    Bildschirmfoto 2022-08-23 um 11.27.32.png
    219,7 KB · Aufrufe: 8
Zuletzt bearbeitet:

jck42

Benutzer
Mitglied seit
18. Mrz 2012
Beiträge
25
Punkte für Reaktionen
9
Punkte
53
@coldjack: Ich muss mich da korrigieren. Es ist tatsächlich bei mir user_settings.ini...d.h. mit UNDERSCORE. Ändere ich mal sicherheitshalber im vorigen Post.
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Ich bin jetzt nochmal den kompletten Thread durchgegangen, habe diese Datei geprüft. Fehlt da ggf. etwas?
Code:
/usr/local/etc/php74/cli/php.ini

[apc]
apc.enabled = 1
apc.coredump_unmap = 0
apc.shm_size = 32M
apc.mmap_file_mask =
apc.entries_hint = 4096
apc.use_request_time = 0
apc.smart = 0
apc.ttl = 0
apc.shm_segments = 1
apc.enable_cli = 1
apc.serializer = php
apc.gc_ttl = 3600
apc.slam_defense = 0
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Guten Morgen,
ich habe gestern nochmal alle configs überprüft und neu angepasst. Die Synology selbst neugestartet. Kein Erfolg. Redis habe ich nicht installiert, da ich es gern ohne Redis hinbekommen möchte. Ich hoffe auf Updates von Synology oder Nextcloud, dass irgendwann cron richtig funktioniert. Falls noch jemand gute Idee bzw. Änderungsvorschläge hat, gerne posten. :)
Gruß Coldjack
 

OdinsAuge

Benutzer
Mitglied seit
12. Nov 2015
Beiträge
362
Punkte für Reaktionen
30
Punkte
34
Also du bekommst keine Fehlermeldung in der DS und in NC läuft der Cron einfach nicht durch richtig?
Nimm doch mal "Ausführungsdetails senden wenn die Aufgabe unnormal beendet wird" in der Aufgabeneinstellung weg, damit du auf alle Fälle eine Email bekommst, wenn die Aufgabe beendet wird.
Mich würde interessieren was da die Ausgabe ist bzw. ob die Ausführung vielleicht steckenbleibt.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
585
Punkte für Reaktionen
68
Punkte
48
Wenn du den cron Befehl über ssh ausführst, kommen aber keine Fehlermeldungen und es erscheint ein grüner hacken bei nextcloud ?
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Also du bekommst keine Fehlermeldung in der DS und in NC läuft der Cron einfach nicht durch richtig?
Nimm doch mal "Ausführungsdetails senden wenn die Aufgabe unnormal beendet wird" in der Aufgabeneinstellung weg, damit du auf alle Fälle eine Email bekommst, wenn die Aufgabe beendet wird.
Mich würde interessieren was da die Ausgabe ist bzw. ob die Ausführung vielleicht steckenbleibt.
Versuch ich nachher. Bin aktuell unterwegs.
Wenn du den cron Befehl über ssh ausführst, kommen aber keine Fehlermeldungen und es erscheint ein grüner hacken bei nextcloud ?
ja, keine Fehlermeldung
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
585
Punkte für Reaktionen
68
Punkte
48
Hast du den cronauftrag mal Manuel über ssh eingetragen ?
 

coldjack

Benutzer
Mitglied seit
09. Apr 2016
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Hast du den cronauftrag mal Manuel über ssh eingetragen ?
Hallo,
also wenn ich über ssh und in der dsm (Aufgabenplaner) den Befehl
Code:
sudo -u http php74 -f /volume1/web/nextcloud/cron.php
ausführe, dann zeigt weder die dsm noch mein Terminal einen Fehler an.

Email Benachrichtigung:
HTML:
Der Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: Nextcloud cron
Start: Wed, 24 Aug 2022 14:05:06 GMT
Ende: Wed, 24 Aug 2022 14:05:16 GMT
Aktueller Status: 0 (Normal)
Standardausgabe/Fehler:


Von DS218


Sprich der Befehl wird ausgeführt und für 10 Minuten ist dann cron in der Nextcloud grün. Aber nur für die kurze Zeit. Es sieht so aus, als würde mein Aufgabenplaner den Befehl nicht alle 10 Minuten ausführen, wie im Aufgabenplaner angegeben ist.
lg coldjack
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat