[Nextcloud] Cron mit PHP 7

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
............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.
 

imforumman

Benutzer
Mitglied seit
25. Jan 2017
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
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.
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
255
Punkte für Reaktionen
80
Punkte
28
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:

Tom80

Benutzer
Mitglied seit
06. Okt 2015
Beiträge
137
Punkte für Reaktionen
2
Punkte
18
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
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Dann sicherlich die Installation von php 7.0
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Kannst ja mal nach
which php
which php70
auf dem Terminal schauen.
 

Lux007

Benutzer
Mitglied seit
08. Aug 2016
Beiträge
116
Punkte für Reaktionen
2
Punkte
18
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
 

PhyBo

Benutzer
Mitglied seit
16. Sep 2018
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
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:

steje43

Benutzer
Mitglied seit
03. Dez 2011
Beiträge
666
Punkte für Reaktionen
35
Punkte
48
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.
 

Ha34Meiner

Benutzer
Mitglied seit
28. Dez 2012
Beiträge
568
Punkte für Reaktionen
11
Punkte
44
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?
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
705
Punkte für Reaktionen
11
Punkte
38
Trag in deiner /etc/crontab einfach folgendes ein:

Code:
*/5 * * * * root sudo -u http php74 -f /volume1/web/nextcloud/cron.php
 
  • Like
Reaktionen: Tuxnet

Ha34Meiner

Benutzer
Mitglied seit
28. Dez 2012
Beiträge
568
Punkte für Reaktionen
11
Punkte
44
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
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
705
Punkte für Reaktionen
11
Punkte
38
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.
 

Ha34Meiner

Benutzer
Mitglied seit
28. Dez 2012
Beiträge
568
Punkte für Reaktionen
11
Punkte
44
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
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
705
Punkte für Reaktionen
11
Punkte
38
Probiers mal mit folgendem auf der Kommandozeile:

Code:
sudo -u http php74 -d memory_limit=1024M -f /volume1/web/nextcloud/cron.php
 


 

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