Thread "Cron Job funktioniert nicht"
Tabs
-
Deleted | 5. Aug 2018, 10:00
Cron Job funktioniert nichtMoin zusammen,
ich habe Ilias auf einer NAS Synologie DS218+ installiert.
Soweit funktioniert alles, nur die in Ilias erstellten Cron Jobs werden nicht ausgeführt.
Bei manueller Ausführung (Tägliche Mail für Gruppen und Kurs News) erhalten alle die E-Mail.
Muss ich in einer Konfig Datei noch User und Passwort hinterlegen, oder ist der Hund wo anders begraben? -
Deleted | 5. Aug 2018, 10:39
Edited on: 5. Aug 2018, 10:46 - by DeletedRe: Cron Job funktioniert nichtILIAS auf einer Synology? Nette Idee, Ich hätte nicht gedacht dass da die CPU-Power ausreicht. Für wie viele User ist das gedacht?
Zum Problem: wie sieht denn der Crontab-Eintrag aus? Und, nur um sicherzugehen: nach den Änderungen an der Crontab auch brav ein 'synoservice --restart crond' gemacht? -
Deleted | 5. Aug 2018, 12:49
Re (2): Cron Job funktioniert nichtSystem ist ausgelegt für bis zu 50 User. Abwarten ob die Rechenpower ausreicht, oder nicht.
Mit Crontab-Eintrag meinst du das File: /etc/crontab
Dieses File wurde nicht von Ilias angepasst. Es wurden keine Einträge gesetzt, oder muss man dies immer manuell setzen?
Ich hatte einen Eintrag gesetzt:
# ILIAS-Cronjobs ausführen
Jedoch hatte dies nicht funktioniert, weil ich testweise die tägliche E-mail in Ilias selbst auf 5 Minuten gestellt hatte.
synoservice --restart hatte ich nicht gemacht, aber die NAS komplett durchgestartet. -
Deleted | 5. Aug 2018, 13:59
Re: Re (2): Cron Job funktioniert nichtHmm, das ist jetzt schon einige _Zeit her seit dem ich das das letzte mal aufgesetzt habe, aber:- Den Eintrag in der Crontab muss man selbst anlegen, ILIAS kann das nicht (weil - hoffentlich - keine Schreibrechte auf die Crontab)
- Bei Dir ist der Eintrag auskommentiert - kann also nicht funktionieren.
- Du hast da als User 'root' eingetragen - laut ILIAS-Doku muss da aber der User stehen unter dem der Webserver läuft (was aber problematisch ist weil Syno soweit ich mich entsinne nur 'root' kann und alle Einträge für andere User löscht).
- Laut Doku kann der Cronjob nur einmal am Tag laufen - dies wird durch ein Lockfile sichergestellt. Du hast aber */4 eingetragen.
-
Deleted | 6. Aug 2018, 18:28
Edited on: 6. Aug 2018, 18:39 - by DeletedRe (2): Re (2): Cron Job funktioniert nichtVielen Dank für deinen Input
Folgende Anmerkung:- Crontab eintrag angelegt, jedoch wieder auskommentiert da dieser nicht funkioniert hat.
- Kann mich als root in der Datenbank anmelden zum Testen. Wird nach der einwandfreien Funktion wieder entfernt und Cron Job abgeändert.
- Das Lockfile wird nicht erstellt, somit wird es leider nicht ausgeführt und auch in Ilias steht das der Cronjob nicht ausgeführt wurde. Aber das wusste ich noch nicht. Danke für den Tipp
- Ich habe mal den Task Schedeuler der NAS genutzt *danke für die Idee*:
PHP Fatal error: ilDB Error: <br />MDB2 Error: not found<br />[Error message: extension mysqli is not compiled into PHP]
** mysqli(mysqli)://root:xxx@127.0.0.1:3307/ilias01<br />#0 /volume1/web/ilias/Services/Database/classes/class.ilDB.php(269): ilDB->handleError(Object(MDB2_Error))
#1 /volume1/web/ilias/Services/Init/classes/class.ilInitialisation.php(409): ilDB->connect()
#2 /volume1/web/ilias/Services/Init/classes/class.ilInitialisation.php(1008): ilInitialisation::initDatabase()
#3 /volume1/web/ilias/Services/Init/classes/class.ilInitialisation.php(893): ilInitialisation::initClient()
#4 /volume1/web/ilias/include/inc.header.php(36): ilInitialisation::initILIAS()
#5 /volume1/web/ilias/cron/cron.php(20): include_once('/volume1/web/il...')
#6 {main} in /volume1/web/ilias/Services/Init/classes/class.ilErrorHandling.php on line 226 PHP Fatal error: Call to a member function getActivePluginsForSlot() on null in /volume1/web/ilias/Services/Init/classes/class.ilInitialisation.php on line 542 PHP Fatal error: Call to a member function getActivePluginsForSlot() on null in /volume1/web/ilias/Services/Init/classes/class.ilInitialisation.php on line 542 PHP Fatal error: Call to a member function addBlockFile() on null in /volume1/web/ilias/error.php on line 8
Hat der User keine entsprechenden Rechte, oder liegt der Fehler wo anders? Hast du eine Idee?
***EDIT***
Nur mit folgendem Befehl :
/usr/bin/php /volume1/web/ilias/cron/cron.php
Erhalte ich folgende Ausgabe:Usage: cron.php username password client
-
Deleted | 7. Aug 2018, 08:50
Re: Re (2): Re (2): Cron Job funktioniert nichtZum letzten zuerst: da testet ganz am Anfang des Scripts ob die Anzahl der Befehlsparameter stimmt. Tut sie nicht, deshalb die Fehlermeldung.
Zum eigentlichen Fehler: das PHP-Programm findet da die Bibliothek zur Ńutzung der MySQL Datenbank nicht. Dies liegt wohl daran dass Synology ein Kommandozeilen-PHP (nicht aber das vom Webserver genutzte) ausliefert in dem so ziemlich alle Erweiterungen deaktiviert sind, Dein Problem hat also erst mal nichts mit Rechten zu tun. Laut einem Forumsbeitrag (https://forum.synology.com/enu/viewtopic.php?f=20&t=91099#p425790) kann man aber mit einem einfachen Symlink das PHP der Syno-App nutzen welches viel mehr Module hat:
$sudo ln -s /usr/local/bin/php56 /sbin/php
Ich hoffe das hilft ein wenig weiter.