[Nextcloud] Cron mit PHP 7

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
............Sorry, aber die Aussagen leuchten nicht ein............

Keine Antwort ist auch eine. Wenn Du, wie ich mit diesen crontab Einträgen nachweisen kannst, dass der Aufgabenplaner jetzt das schafft, ändere ich gerne meine Vorgehensweise. Bislang war das jedenfalls nicht machbar. Mit dem Eintrag " >> /volume1/Sicherungen/Protokolle/ownCloud_cleanup__$(/bin/date +\%Y-\%m-\%d).log 2>&1" dokumentiere ich die Funktion, ich weiss, dass es läuft und sehe es am Verhalten des Clients.

Das meine ich, nichts für ungut, wir diskutieren nur und ich bin neugierig.
 
Immer mit der Ruhe, habe auch noch zwei Kinder, ne Frau und nen Job.

Capture-1.png
Capture-2.png
Capture-3.png

So funzt es aber einwandfrei, again, thanks to TomSt.

Wenn ich das richtig verstehe und meinen bisher funktionierenden Setup mit PHP5 sehe, dann müsste auch

sudo -u http php70 -c /usr/syno/etc/packages/WebStation/php70/conf.d/user_settings.ini -f /volume1/web/nextcloud/cron.php

funktionieren.
 
Bei mir funktioniert das Script auch im Aufgabenplaner, jedoch bekomme ich die Fehlermeldung "Cannot load Zend OPcache - it was already loaded", was bedeutet, dass der Cache schon geladen ist und nicht nochmals geladen werden kann.
Das Deaktiven des PHP-Caches in der Web-Station beseitigt diese Fehlermeldung, jedoch sollte der PHP-Cache doch besser aktiviert bleiben.
Nun meine Fragen:
Wird der PHP-Cache nun alle 15 Minuten neu aktiviert?
Kann man diese Fehlermeldung deaktivieren oder sollte man Diese ignorieren?
Dumm ist nur, dass alle 15 Minuten eine E-Mail mit diesem Fehler kommt.

PS: Die Aktivierung des PHP-Caches in der WEB-Station erzeugt in der "user_settings.ini" diese beiden Zeilen:
zend_extension = opcache.so
extension = apcu.so
 
Zuletzt bearbeitet:
Hallo,

Bei mir funktioniert das mit dem Aufgabenplaner nicht.
Es gibt bei mir kein "/usr/local/bin/php70" !?

Sehr geehrter Benutzer,

Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: Cron
Startzeit: Wed, 08 Nov 2017 23:34:20 GMT
Stoppzeit: Wed, 08 Nov 2017 23:34:20 GMT
Aktueller Status: 127
Standardausgabe/Fehler:
sh: /usr/local/bin/php70: No such file or directory


Mit freundlichen Grüßen
Synology DiskStation

Muss ich da noch etwas anpassen?

Tom
 
Dann sicherlich die Installation von php 7.0
 
Kannst ja mal nach
which php
which php70
auf dem Terminal schauen.
 
Hallo!

Beim meiner DS ist die PHP7-Version auch nicht normal ins System eingebunden. Mit den "normalen" Tools wird sie nicht angezeigt.

Nur der Aufruf über

/volume1/@appstore/PHP7.0/usr/local/bin/php70 (wobei das /volumeX/ jeweils vom Installationsort auf der DS abhängt!)

klappt hier.

Beispiel in der Bash:

/volume1/@appstore/PHP7.0/usr/local/bin/php70 -version

gibt die aktuelle php-Version aus.

Schau mal nach wo bei dir der Ordner liegt und versuche den Aufruf mit dem Pfad (Parameter usw. sind ja oben in den Postings schon erwähnt).

Gruß
Lux007
 
Leider hat es bei mir nicht ganz funktioniert aber bin auf folgende Lösung gekommen.

Für alle die über den Aufgabenplaner der Synology die occ-Befehle (bspw: occ db:add-missing-indices) oder den conjob ausführen möchten, hier die Lösung die bei mir geklappt hat:

sudo -u http /usr/local/bin/php70 -c /var/packages/WebStation/etc/php_profile/<Buchstabensalat>/conf.d/user_settings.ini -f /volume1/web/cloud/occ db:add-missing-indices


<Buchstabensalat> = der Ordner in /var/packages/WebStation/etc/php_profile/
falls es mehr Ordner sind muss probiert werden welcher der richtige ist.
 
Zuletzt bearbeitet:
sudo -u http /usr/local/bin/php70 -c /var/packages/WebStation/etc/php_profile/<Buchstabensalat>/conf.d/user_settings.ini -f /volume1/web/cloud/occ db:add-missing-indices

<Buchstabensalat> = der Ordner in /var/packages/WebStation/etc/php_profile/
falls es mehr Ordner sind muss probiert werden welcher der richtige ist.

Hat auch bei mir geklappt. Habe dann auch noch die Datenbank auf mysql gewechselt.

Dazu braucht man auch den o.g. Befehl, sonst gleiche Fehlermeldung wg. PHP 7

sudo -u http /usr/local/bin/php70 -c /var/packages/WebStation/etc/php_profile/Buchstabensalat/conf.d/user_settings.ini -f /volume1/web/nextcloud/occ db:convert-type --port="3307" --all-apps mysql test 127.0.0.1 test

test = Datenbankname und Username als Beispiel.

Port 3307 bei Maria 10
Port 3306 bei Maria 5

Ach ja, ich musste noch die occ ausführbar machen, sonst kann ich den Befehl nicht ausführen. also chmod +x und wenn fertig chmod -x im /volume1/web/nextcloud Verzeichnis.
 
So, dann frage ich auch mal wieder ;-)
Bis jetzt hatte ich NC 18 am Start. Läuft alles, auch der Cron Job. Nun habe ich NC 21 installiert. Läuft, außer der CRON Job nicht mehr.

Im Aufgabenplaner habe ich folgendes als root eingetragen:
/bin/env;/bin/su http -s /bin/sh -c '/usr/local/bin/php74 -c /usr/syno/etc/packages/WebStation/php74/conf.d/user_settings.ini -f /var/services/web/nextcloud_21/cron.php'

Oder darf ich dort nur eine Aufgabe für einen CRON job anlegen?

Für die Nextcloud 18 habe ich dann eine zweite Aufgabe angelegt (die ja funktioniert)
/bin/su http -s /bin/sh -c '/usr/local/bin/php73 -c /usr/syno/etc/packages/WebStation/php73/conf.d/user_settings.ini -f /var/services/web/nextcloud/cron.php'


Hatte für die NC 21 auch folgendes in der Aufgabe versucht:
/bin/su http -s /bin/sh -c '/usr/local/bin/php74 -c /usr/syno/etc/packages/WebStation/php74/conf.d/user_settings.ini -f /var/services/web/nextcloud_21/cron.php'
und
sudo -u http php74 /var/services/web/Nextcloud_21/cron.php

Woran kann es liegen?
 
Trag in deiner /etc/crontab einfach folgendes ein:

Code:
*/5 * * * * root sudo -u http php74 -f /volume1/web/nextcloud/cron.php
 
  • Like
Reaktionen: Tuxnet
Vielen Dank für die schnelle Hilfe. habe es nun eingetragen, aber mit nextcloud_21, muß ich die Syno neustarten?
24-06-_2021_13-09-36.jpg
 
Nein, in der Regel greift das sofort. Du kannst auch mal den Befehl ab "sudo...." direkt auf der Kommandozeile eingeben und schauen ob das klappt.
 
Ah, wir kommen der Sache näher: Wenn ich den o.g. Befehl direkt auf der Kommandozeile ausgebe, kommt folgende Meldung:

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes) in /volume1/web/nextcloud_21/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes) in /volume1/web/nextcloud_21/lib/private/AppFramework/Utility/SimpleContainer.php on line 133
 
Probiers mal mit folgendem auf der Kommandozeile:

Code:
sudo -u http php74 -d memory_limit=1024M -f /volume1/web/nextcloud/cron.php
 
Status
Für weitere Antworten geschlossen.
 

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