Moodle/Cron: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
Nehmen Sie nun einige Einstellungen vor:
Nehmen Sie nun einige Einstellungen vor:


==== Aufruf des Skripts von der Kommandozeile ====
=== Aufruf des Skripts von der Kommandozeile ===


Rufen Sie die Datei wie zuvor auf. Nehmen Sie dazu z.B. den Unix-Befehl 'wget':
Rufen Sie die Datei wie zuvor auf. Nehmen Sie dazu z.B. den Unix-Befehl 'wget':
Zeile 31: Zeile 31:
(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php
(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php


==== Automatische Ausführung des Skripts alle 5 Minuten ====
=== Automatische Ausführung des Skripts alle 5 Minuten ===


Bei UNIX- Systemen: Use cron. Passen Sie ihre Einstellungen für Cron- Jobs über die Komandozeile mit folgendem Befehl an "crontab -e" und fügen Sie folgende Zeile hinzu:
Bei UNIX- Systemen: Use cron. Passen Sie ihre Einstellungen für Cron- Jobs über die Komandozeile mit folgendem Befehl an "crontab -e" und fügen Sie folgende Zeile hinzu:
Zeile 43: Zeile 43:
Die Oberflächedes Web Host Services bietet Ihnen die Möglichkeit, einen Cron Job einzurichten. Z.B. Cpanel Systeme: Hier gibt es einen Button "Cron jobs". Geben Sie hier die folgenden Unix-Befehle ein.  
Die Oberflächedes Web Host Services bietet Ihnen die Möglichkeit, einen Cron Job einzurichten. Z.B. Cpanel Systeme: Hier gibt es einen Button "Cron jobs". Geben Sie hier die folgenden Unix-Befehle ein.  


==== Kommando-Zeile von Unix nutzen  ====
=== Kommando-Zeile von Unix nutzen  ===


Es gibt verschiedene Kommandozeilenprogramme, die Sie aufrufen können. Auf Ihrem Server sind vielleicht nicht alle verfügbar.
Es gibt verschiedene Kommandozeilenprogramme, die Sie aufrufen können. Auf Ihrem Server sind vielleicht nicht alle verfügbar.
Zeile 55: Zeile 55:
Das gleiche unter lynx:
Das gleiche unter lynx:


lynx -dump http://example.com/moodle/admin/cron.php > /dev/null
lynx -dump http://example.com/moodle/admin/cron.php > /dev/null


Alternativ können sie eine standalone version von PHP nutzen, die kompiliert in der Kommandozeile läuft. The advantage with doing this is that your web server logs aren't filled with constant requests to cron.php. The disadvantage is that you need to have access to a command-line version of php.
Alternativ können sie eine standalone version von PHP nutzen, die kompiliert in der Kommandozeile läuft. The advantage with doing this is that your web server logs aren't filled with constant requests to cron.php. The disadvantage is that you need to have access to a command-line version of php.


/opt/bin/php /web/moodle/admin/cron.php
/opt/bin/php /web/moodle/admin/cron.php  
 
   
 
==== Verwendung des crontab Programms auf Unix  ====


=== Verwendung des crontab Programms auf Unix  ===
All that Cpanel does is provide a web interface to a Unix utility known as crontab. If you have a command line, you can set up crontab yourself using the command:
All that Cpanel does is provide a web interface to a Unix utility known as crontab. If you have a command line, you can set up crontab yourself using the command:



Version vom 17. Juli 2023, 09:24 Uhr

6. Einen Cron-Job einrichten

Einige Module von Moodle prüfen regelmäßig, ob bestimmte Aufgaben ausgeführt werden müssen. Moodle überprüft z.B. ob es im Forum neue Einträge gibt, die per Email an Nutzer versandt werden müssen.

Das Skript, das all diese Vorgänge steuert, finden Sie im Admin-Verzeichnis und heißt cron.php. Diese Datei läuft nicht von alleine. Sie müssen einen Mechanismus einrichten, der die Datei z.B. alle fünf Minuten ausführt. Dazu ist es erforderlich, dass ein "Impuls" für jedes Modul ausgelöst wird.

Der Auslöser dieses Impulses muss nicht von dem Server erfolgen auf dem Moodle installiert ist.. Wenn Sie auf diesem Server keine Cron-Jobs ausführen können, kann dies von einem anderen Server ausgelöst oder von Ihrem PC gestartet werden. Es ist lediglich nötig, die Datei cron.php alle fünf Minuten aufzurufen.

Testen Sie zuerst, ob die Datei funktioniert. Rufen Sie sie mit Ihrem Browser auf:

http://example.com/moodle/admin/cron.php

Nehmen Sie nun einige Einstellungen vor:

Aufruf des Skripts von der Kommandozeile

Rufen Sie die Datei wie zuvor auf. Nehmen Sie dazu z.B. den Unix-Befehl 'wget':

wget -q -O /dev/null http://example.com/moodle/admin/cron.php

In diesem Beispiel wird das Ergebnis abgelegt (nach /dev/null).

Das gleiche mit lynx:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

Alternativ können Sie eine separate PHP-Version nutzen, die über die Kommandozeile gesteuert wird. Der Vorteil dieser Variante ist, dass in den Log-Dateien des Web-Servers der Aufruf von cron.php nicht ständig protokolliert wird. Der Nachteil dieser Variante besteht darin, dass Sie einen Zugang zur Kommando-Zeile der PHP-Version benötigen.

/opt/bin/php /web/moodle/admin/cron.php

(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php

Automatische Ausführung des Skripts alle 5 Minuten

Bei UNIX- Systemen: Use cron. Passen Sie ihre Einstellungen für Cron- Jobs über die Komandozeile mit folgendem Befehl an "crontab -e" und fügen Sie folgende Zeile hinzu:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Bei Windows-Systemen: Der einfachste Weg ist hier mein Programm zu benutzen, moodle-cron-for-windows.zip wodurch die Anpassungen ganz einfach sind. Sie können alternativ dazu, die in Windows enthaltene Funktion "Scheduled Tasks" benutzen.

Bei Web Hosting Services

Die Oberflächedes Web Host Services bietet Ihnen die Möglichkeit, einen Cron Job einzurichten. Z.B. Cpanel Systeme: Hier gibt es einen Button "Cron jobs". Geben Sie hier die folgenden Unix-Befehle ein.

Kommando-Zeile von Unix nutzen

Es gibt verschiedene Kommandozeilenprogramme, die Sie aufrufen können. Auf Ihrem Server sind vielleicht nicht alle verfügbar.

Z.B. das Unix-Utility 'wget':

wget -q -O /dev/null http://example.com/moodle/admin/cron.php

In diesem Beispiel wird das Ergebnis nicht aufgewahrt (to /dev/null).

Das gleiche unter lynx:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

Alternativ können sie eine standalone version von PHP nutzen, die kompiliert in der Kommandozeile läuft. The advantage with doing this is that your web server logs aren't filled with constant requests to cron.php. The disadvantage is that you need to have access to a command-line version of php.

/opt/bin/php /web/moodle/admin/cron.php   

Verwendung des crontab Programms auf Unix

All that Cpanel does is provide a web interface to a Unix utility known as crontab. If you have a command line, you can set up crontab yourself using the command:

crontab -e

and then adding one of the above commands like:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Usually, the "crontab" command will put you into the 'vi' editor. You enter "insert mode" by pressing "i", then type in the line as above, then exit insert mode by pressing ESC. You save and exit by typing ":wq", or quit without saving using ":q!" (without the quotes).