Der Totara 'cron'-Prozess ist ein PHP-Skript (Teil der Standardinstallation von Totara), das regelmäßig im Hintergrund ausgeführt werden muss. Es wird dringend empfohlen, die Cron-Häufigkeit mindestens einmal pro Minute einzustellen. Das Totara Cron-Skript führt verschiedene Aufgaben in unterschiedlich geplanten Intervallen aus, die von einem Site-Administrator konfiguriert werden können.
Ein spezielles Programm, 'cron', wird verwendet, um das Totara Cron-Skript in regelmäßigen Abständen auszuführen. Das Totara Cron-Skript führt Aufgaben aus, darunter das Senden von E-Mails, das Aktualisieren von Totara-Berichten, RSS-Feeds, das Abschließen von Aktivitäten, das Posten von Forumsnachrichten und andere Aufgaben. Da verschiedene Aufgaben unterschiedliche Zeitpläne haben, wird nicht jede Aufgabe in Totara ausgeführt, wenn das Cron-Skript ausgelöst wird.
Das Cron-Programm (das das Totara-Skript ausführt) ist ein Kernteil von Unix-basierten Systemen (einschließlich Linux und OSX), die zur Ausführung vieler zeitabhängiger Dienste verwendet werden. Die einfachste Lösung unter Windows ist es, eine Aufgabe im Windows Task Scheduler zu erstellen und sie in regelmäßigen Abständen auszuführen. Beim gemeinsamen Hosting sollten Sie die Dokumentation finden (oder um Unterstützung bitten), wie Cron konfiguriert ist.
Die Aufgabe beinhaltet das Hinzufügen eines einzelnen Befehls zur Liste der Cron-Aktivitäten auf Ihrem System. Auf Unix-basierten Systemen ist diese Liste eine Datei namens 'Crontab', die alle Nutzer haben.
Cron-Befehl
Totara hat zwei verschiedene Möglichkeiten, Cron bereitzustellen, die unterschiedliche Skripte innerhalb der Totara-Installation verwenden. Diese sind wie folgt:
- Das CLI-Skript (Befehlszeilen-Interpreter): Dies erfolgt auf dem Pfad /path/to/Totara/admin/cli/cron.php. Im Zweifelsfall ist dies das richtige Skript. Dies muss von einem 'PHP CLI'-Programm auf Ihrem Computer ausgeführt werden. Der endgültige Befehl kann so aussehen wie /usr/bin/php /path/to/Totara/admin/cli/cron.php. Sie können (und sollten) dies in Ihrer Befehlszeile versuchen, um zu sehen, ob es funktioniert.
- Das webbasierte Skript: Diese muss über einen Webbrowser ausgeführt werden und wird über eine Web-URL wie http://your.totara.site/admin/cron.php aufgerufen. Sie können befehlszeilenbasierte Webbrowser (z. B. wget) finden, sodass der letzte Befehl wie /usr/bin/wget http://your.totara.site/admin/cron.php aussehen kann. Dies hat den Vorteil, dass es von überall aus ausgeführt werden kann. Wenn Sie kein Cron zur Arbeit auf Ihrem Gerät bekommen, kann es an anderer Stelle ausgeführt werden.
Cron Scheduler UI für Site-Administratoren
Eine weitere wichtige Funktion ist die Cron Scheduler-Benutzeroberfläche für Administratoren. Dies ermöglicht es Administratoren, zu wissen, welche Aufgaben das Cron ausgeführt wird, und Fehler zu beheben, wann jedes Teil zuletzt ausgeführt wurde.
Site-Administratoren können die Kontrolle über die Hintergrundprozesse für ihre Totara-Website übernehmen. Diese Funktion bringt Sichtbarkeit in das Totara Cron, was es einfacher macht, zu sehen, was vor sich geht, langsame oder fehlerhafte Prozesse zu debuggen und die Kontrolle über und Optimierung des Cron für eine bestimmte Website zu übernehmen.
Verwenden Sie die Personaleinsatzplaner-Funktion unter Schnellzugriff > Server > Geplante Aufgaben, um eine Liste der Aufgaben anzuzeigen, die von Cron ausgeführt werden. Dazu gehört die Anzeige, wann die Aufgabe zuletzt ausgeführt wurde und wann sie als nächstes ausgeführt werden soll.
Jede Aufgabe kann auch so konfiguriert werden, dass sie zur gewünschten Zeit an einem beliebigen Tag ausgeführt wird.
Systemadministratoren mit Befehlszeilenzugriff können bei Bedarf auch manuell eine einzelne Aufgabe ausführen, indem sie admin/tool/task/cli/schedule_task.php mit den erforderlichen Argumenten ausführen.
Diejenigen, die ihre Website in einer gehosteten Umgebung betreiben, in der keine Änderungen am System-Cron vorgenommen werden können oder einen Anfrage- und Genehmigungsprozess durchlaufen müssen, profitieren auch von der produktinternen Konfiguration.
Den richtigen Ort für den Befehl finden
Dies hängt von dem System ab, das Sie verwenden, und Sie sollten die Dokumentation für Ihre Plattform oder Ihr Hosting finden und lesen. In den meisten Fällen besteht die Ausführung des Totara Cron darin, den richtigen Befehl (oben) festzulegen und dann zu einer Datei hinzuzufügen, sowie die Zeit, um den Befehl auszuführen. Dies kann entweder über eine bestimmte Benutzeroberfläche oder durch direkte Bearbeitung der Datei erfolgen.
Wenn Sie die CLI-Version verwenden, müssen Sie auch sicherstellen, dass der Cron-Prozess als der richtige Nutzer ausgeführt wird. Dies ist kein Problem mit der Webversion.
Beispiel: Cron wird unter Ubuntu/Debian Linux installiert. Angenommen als Root angemeldet:
Verwenden Sie den Befehl Crontab, um ein Crontab-Editorfenster für den www-data-Nutzer zu öffnen. Dies ist der Nutzer, den Apache (der Webserver) wie auf Debian-basierten Systemen ausführt.
$ crontab -u www-data -e
Dadurch wird ein Editor-Fenster geöffnet. Um das cli cron-Skript jede Minute auszuführen, fügen Sie die folgende Zeile hinzu:
*/1 * * * * /usr/bin/php /path/to/Totara/admin/cli/cron.php >/dev/null
Beachten Sie, dass der letzte >/dev/null die gesamte Ausgabe an den „Bin“ sendet und verhindert, dass Sie jede Minute eine E-Mail erhalten.
Empfohlene Einstellungen
Im Allgemeinen sind die Aufgaben, die täglich ausgeführt werden, diejenigen, auf die Sie eher achten müssen, insbesondere auf größeren Websites. Die Auswirkungen auf die Leistung hängen davon ab, wie viele Informationen jedes Mal verarbeitet werden müssen, wenn diese Aufgabe ausgeführt wird, und zu welchem Zeitpunkt Sie die Aufgabe ändern. Zum Beispiel könnte es in Ordnung sein, eine stündliche Aufgabe in eine Aufgabe zu ändern, die alle 30 Minuten ausgeführt wird, aber die Reduzierung der Aufgabe auf jede einzelne Minute könnte Auswirkungen haben.
Es ist ratsam, diese Aufgabenzeiten auf Probleme zu überwachen. Die Cron-Protokolle geben ein Verständnis für die Zeit, die zur Ausführung einer bestimmten Aufgabe benötigt wird, und können basierend auf diesen Anpassungen vorgenommen werden, um die Leistung der Website zu verbessern.
Da sich alle Websites unterscheiden und die Cron-Leistung von der Nutzung verschiedener Funktionen abhängt, ist es schwierig, eine allgemeine oder „ideale“ Konfiguration anzubieten.
Protokollierung Cron
Die Cron-Skriptausgabe kann während der Ausführung protokolliert werden. Sie müssen den Pfad zu PHP und den Pfad angeben, zu dem die Protokolldatei geschrieben werden soll. Für Windows müssen Sie eine geplante Aufgabe einrichten und den Befehl hinzufügen. Nachfolgend finden Sie Beispiele für die Befehle, die für jedes Betriebssystem verwendet werden sollen:
- Beispiel für Unix/ Linux: */1 * * * * /usr/bin/php /path/to/Totara/admin/cli/cron.php >> /var/log/cron.log 2>&1
- Windows-Beispiel: c:/php/php.exe -f c:/totara/admin/cli/cron.php > c:/totara/admin/cron.log
Wenn Sie bei Windows Probleme mit den oben genannten Befehlen in einer Textdatei haben, um die Ausgabe von cron.php zu protokollieren. Sollte dies der Fall sein, können Sie alternativ versuchen, Backslashes wie folgt zu verwenden:
@echo off c:\php\php.exe -f c:\path\to\totara\admin\cli\cron.php >> c:\totara\admin\cron.logFühren Sie dies in einer Batchdatei aus, z. B. c:\totara\cron.cmd, und geben Sie dann den Pfad dieser Batchdatei als auszuführende Aufgabe an.
Bitte beachten Sie, dass wir im letzten Beispiel ein Doppelzeichen größer/Pfeil (>>) anstelle des Einzelzeichens im ersten Beispiel (>) verwendet haben. Das Doppelsymbol bedeutet, dass alle Cron-Protokolle in der Datei gespeichert werden, anstatt überschrieben zu werden. Dies kann jedoch bedeuten, dass die Datei recht groß werden kann. Daher ist es wichtig, unsere regelmäßige Wartung durchzuführen und unerwünschte Daten zu löschen.
Zweck der geplanten Aufgaben
Details zum Zweck jeder geplanten Aufgabe finden Sie auf der zugehörigen Komponentenhilfeseite (wie unten aufgeführt):
- Programm- und Zertifizierungsaufgaben
- Geplante Aufgaben für die Anmeldung
- Geplante Totara Connect-Aufgaben
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2025 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions.