Diesen Artikel bewerten :
Dieser Artikel war hilfreich für Sie ?
Ja
Nicht
Vous avez noté 0 étoile(s)
Procédure
Der Zweck eines Cronjobs ist es, ein Skript, einen Befehl oder ein Programm automatisch zu bestimmten Zeitpunkten zu starten.
Mit"LWS Cronjob" können Sie planen, dass ein Skript auf Ihrer Website in verschiedenen Zeitabständen gestartet wird. Zum Beispiel einmal pro Woche, einmal pro Tag, am 8. eines jeden Monats, ...
Auf diese Aufgaben wird ein Timeout von 240s angewendet, d. h. wenn Ihr Skript länger als 4 Minuten zum Ausführen benötigt, wird es nach 4 Minuten automatisch abgeschaltet.
1. Rufen Sie das Werkzeug Cronjob auf.
Melden Sie sich zunächst in Ihrem LWS-Kundenpanel an.
Gehen Sie dann in die Verwaltung der Abteilung, für die Sie einen Cronjob erstellen möchten.
Sobald Sie sich in der Verwaltung Ihrer Abteilung befinden, suchen Sie den Block "Datenbank & PHP" und klicken Sie auf "Cronjobs".
2. Konfigurieren Sie die Periodizität des Cronjobs.
Das erste Element, das Sie für Ihren Cronjob konfigurieren müssen, ist die Periodizität.
An dieser Stelle bietet LWS in seinem Tool Voreinstellungen, mit denen Sie dies mit einem Klick konfigurieren können.
Verwenden Sie dazu einfach die erste Liste ganz oben im Formular und wählen Sie eine der vorgeschlagenen Einstellungen aus. Dies füllt automatisch die Felder aus, um die Periodizität mit der in der von Ihnen ausgewählten Liste übereinstimmenden Periodizität abzugleichen.
Wenn die Periodizität, die Sie einrichten möchten, nicht in der ersten Liste vorgeschlagen wird, keine Sorge, wir haben die Möglichkeit, jedes Element zu konfigurieren.
Für jedes Element (Minuten, Stunden, Tage, ...) können Sie entweder die Werte manuell eingeben oder das Listenfeld rechts neben jedem Feld verwenden.
Wenn ich also zum Beispiel möchte, dass meine Aufgabe jeden Tag um 12:27 Uhr startet, wählen Sie in der Liste, die dem Minutenfeld angehängt ist, die Zahl 27 aus und wählen Sie in der Liste, die dem Stundenfeld angehängt ist, 12:00 pm (Mittag) aus.
Tipps und Ratschläge
3. Das Befehlsfeld konfigurieren
Es gibt drei Möglichkeiten, sein Skript über das Cronjob-Tool aufzurufen:
Der Unterschied zwischen diesen drei Möglichkeiten besteht hauptsächlich darin, wie sie Ihr Skript ausführen.
Bei einem Wget- oder Curl-Aufruf wird das Skript über das HTTP-Protokoll ausgeführt, d. h. es unterliegt den Apache-Konfigurationen und -Einschränkungen, wie z. B. dem Timeout, das relativ kurz sein kann.
Der PHP-Aufruf ist frei von den Einschränkungen, die wir bei den anderen beiden Methoden besprochen haben. Betrachten Sie den PHP-Aufruf so, als ob Sie über eine SSH-Verbindung gehen würden.
Man könnte sich also fragen, welche Methode man wählen sollte, um seine Cronaufgabe einzurichten. Ich würde darauf antworten, dass es bei grundlegenden Skripten, die schnell ausgeführt werden, keine wirklichen Unterschiede gibt. Wenn Ihre CRON-Aufgabe jedoch ziemlich umfangreich ist, mit vielen durchgeführten Aktionen und daher etwas längerer Ausführungszeit, ist die Methode, die sich am besten eignet, der Aufruf über PHP. Im Gegensatz zu Curl oder Wget ist die Wartezeit (Timeout) länger (4 min).
Wir werden für jeden der oben erwähnten Aufrufe sehen, wie man einen Cronjob einrichtet. Als Beispiel nehmen wir eine einfache Website, die ein Skript im Stammverzeichnis aufruft.
cURL-Aufruf
Bei einem curl-Aufruf, der das HTTP-Protokoll verwendet, werden wir einfach die URL zu unserer Datei wie folgt aufrufen.
curl https://www.mon-domaine.fr/cron.php
Es kann auch sein, dass wir Parameter an unser Skript senden müssen. Dazu fügen wir diese einfach wie folgt hinzu :
curl -d "param1=value1¶m2=value2" https://www.mon-domaine.fr/cron.php
So können wir im Code unseres Skripts diese parametrisierten Werte per POST abrufen.
Wget-Aufruf
Bei einem Wget-Aufruf, der ebenfalls das HTTP-Protokoll verwendet, werden wir wie beim cURL-Aufruf ebenfalls die URL unseres Skripts aufrufen. Dies wird dann so aussehen:
wget "https://www.mon-domaine.fr/cron.php"
Für den Fall, dass wir dem Skript Parameter übergeben müssen, werden wir mit Wget keine andere Wahl haben, als die Parameter per GET zu übergeben. Der Befehl wird wie folgt geschrieben:
wget "https://www.mon-domaine.fr/cron.php?param1=value1¶m2=value2"
Im Skript können wir diese beiden Parameter per GET abrufen.
PHP-Aufruf
Bei einer einfachen Website stellen wir uns vor, dass die Datei, in der sich mein Skript befindet, den Namen cron.php trägt.
Es würde genügen, in das Cronjob-Tool folgenden Befehl einzugeben:
php /htdocs/cron.php
Hier wird die PHP-Version, die zur Ausführung Ihres Skripts verwendet wird, standardmäßig 8.0 sein.
Wenn Sie eine bestimmte PHP-Version verwenden möchten, müssen Sie den Aufruf nur leicht abändern. Wenn Sie beispielsweise die Version 7.2 verwenden möchten, um Ihr Skript auszuführen, lautet der aufgerufene Befehl wie folgt :
php72 /htdocs/cron.php.
Es kann auch vorkommen, dass wir ein Argument übergeben müssen, das später in unserem Skript verwendet wird.
Stellen wir uns zum Beispiel vor, unser Skript soll eine E-Mail nach einem zu definierenden Kriterium wie dem Geburtstag versenden. Es könnte also sein, dass wir dieses Kriterium im Aufruf übergeben wollen. Dies lässt sich über die Befehlszeile folgendermaßen bewerkstelligen :
php72 /htdocs/cron.php type=geburtstag
Sonderfall
Es gibt auch Sonderfälle, je nachdem, was Sie für Ihre Website verwenden.
Bei einer Website, die mit dem Cakephp-Framework erstellt wurde, ist die Konfiguration der CRON-Aufgabe beispielsweise etwas anders, da sie über einen SHELL-Befehl läuft, der vom Framework-System aufgerufen wird.
Angenommen, wir haben eine E-Commerce-Website, die mit dem Cakephp-Framework erstellt wurde, und wir wollen ein Skript einrichten, das dem besten Kunden eine E-Mail mit einem Gutscheincode schickt.
Wir werden einen Cakephp-Auftrag erstellen, den wir SendCP nennen, in dem sich das Skript befindet, das verwaltet, was wir tun wollen. Hier ist, wie wir den Cronauftrag konfigurieren werden:
php72 /htdocs/Console/cake.php SendCP
Es würde lange dauern, für jeden Fall ein Beispiel zu geben, aber mit dem, was hier gegeben wurde, haben Sie bereits eine gute Grundlage für die Verwendung des Cronjob-Tools.
Über die verschiedenen Beispiele wissen wir nun, wie wir unseren Befehl schreiben, um ;
4. Erstellen einer Protokolldatei
Wir werden nun sehen, wie wir eine Log-Datei erstellen, die eine Visualisierung dessen ermöglicht, was während des von Cron aufgerufenen Skripts passiert ist.
Dazu gehen wir von dem folgenden Beispiel für unser Skript aus, das in CRON aufgerufen wird.
Beispiel für eine PHP-Echo-Funktion für die Log-Datei
<?php /* Vermeidet Cache-Sorgen */ header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); /* Schreibt das aktuelle Datum in die Datei Beispiel: 2023/01/19 12:24:01 */ /* PHP_EOL erlaubt es, eine Zeile in der Datei zu überspringen */ echo date('Y/m/d h:i:s').PHP_EOL; /* Schreibt den folgenden Satz in die Log-Datei */ echo 'Registrierung meiner Cron'.PHP_EOL.PHP_EOL; ?>.
Ausgabe der Logdatei nach dem Start des Skripts über Cron Job.
2023/01/19 02:57:01 Aufzeichnung meiner Cron 2023/01/19 03:57:01 Aufzeichnung meiner Cron 2023/01/19 04:57:01 Aufzeichnung meiner Cron 2023/01/19 05:57:01 Aufzeichnung meiner Cron 2023/01/19 06:57:01 Aufzeichnung meiner Cron 2023/01/19 07:57:01 Aufzeichnung meiner Cron 2023/01/19 08:57:01 Aufzeichnung meiner Cron 2023/01/19 08:57:01 Aufzeichnung meiner Cron.
Was Sie in Ihre Log-Datei schreiben, hängt also von Ihnen ab und davon, was Sie in Ihrem Skript verfolgen wollen. Das kann zum Beispiel eine Auflistung der Aktionen sein, mit, für jede, ihrem Ergebnis.
Beispiel für einen cURL-Aufruf mit Rückgabe in einer Logdatei.
Für einen cURL-Aufruf ist hier der Befehl, den Sie in das Feld "Befehl" eintragen müssen:
curl https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_curl.log
In diesem Beispiel werden die Schreibrückmeldungen (PHP-Echo) in der Datei cron_curl.log im Ordner logs erfolgen. Wenn die Datei oder der Ordner nicht existiert, werden sie automatisch erstellt.
Beispiel für einen Wget-Aufruf mit Rückgabe in einer Log-Datei.
Für einen Wget-Aufruf ist folgender Befehl zu implementieren:
wget -O - -q https://www.mon-domaine.fr/cron.php >> /htdocs/logs/cron_wget.log
In diesem Beispiel werden die Schreibrückmeldungen (PHP-Echo) in der Datei cron_wget.log im Ordner logs erfolgen. Wenn die Datei oder der Ordner nicht existiert, werden sie automatisch erstellt.
Beispiel PHP-Aufruf mit Rückgabe in einer Log-Datei.
Für einen PHO-Aufruf ist folgender Befehl zu implementieren :
php72 /htdocs/cron.php >> /htdocs/logs/cron_php.log.
In diesem Beispiel werden die Schreibrückmeldungen (PHP-Echo) in der Datei cron_php.log im Ordner logs erfolgen. Wenn die Datei oder der Ordner nicht existiert, werden sie automatisch erstellt.
Sobald Sie Ihre Cronjobs erstellt haben, können Sie sie direkt in der Auflistung finden, die unterhalb des Hinzufügeformulars erscheint.
Hier finden Sie eine Auflistung mit dem gespeicherten Auftrag, der Periodizität und der Möglichkeit, einen Cron zu löschen oder zu pausieren.
Diesen Artikel bewerten :
Dieser Artikel war hilfreich für Sie ?
Ja
Nicht
0mn von Lesen
Multi-Domains - Mehrere Domains auf ein Webhosting setzen
1mn von Lesen
Ist es möglich, den Spamschutz RSpamD auf Shared Hosting zu entfernen?
0mn von Lesen
Wie kann ich E-Mails anzeigen lassen, die über die PHP-Mail-Funktion gesendet und von SPAMASSASSIN blockiert wurden?