Wie erstellt man einen Cronjob aus dem LWS Panel?

Procédure

Was ist ein Cronjob?

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.

Wie erstelle ich einen Cronjob?

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".

Wie erstellt man einen Cronjob aus dem LWS Panel?

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.

Wie erstellt man einen Cronjob aus dem LWS Panel?

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

  • Außer in sehr speziellen Fällen raten wir davon ab, einen Cronjob so einzustellen, dass er jede Minute ausgeführt wird, um den Server nicht zu überlasten und damit die Leistung Ihres Dienstes zu beeinträchtigen.
  • Bevorzugen Sie Aufgaben, die nachts und zu bestimmten Zeiten (wie z. B. 03:47 Uhr morgens) ausgeführt werden, um zu vermeiden, dass Ihre Aufgaben gleichzeitig mit möglichen Auto-Aufgaben ausgeführt werden, wie es z. B. bei einigen CMS oder Tools, die auf Ihrer Website verwendet werden, der Fall sein kann.

3. Das Befehlsfeld konfigurieren

Es gibt drei Möglichkeiten, sein Skript über das Cronjob-Tool aufzurufen:

  • PHP-Aufruf
  • wget-Aufruf
  • cURL-Aufruf

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&param2=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&param2=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 ;

  • unser Skript einfach in der gewählten Periodizität ausführen.
  • unser Skript durch Hinzufügen von Parametern und in der gewählten Periodizität auszuführen.

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.


Wie verwalte ich meine Cronjobs?

Sobald Sie Ihre Cronjobs erstellt haben, können Sie sie direkt in der Auflistung finden, die unterhalb des Hinzufügeformulars erscheint.

Wie erstellt man einen Cronjob aus dem LWS Panel?

Hier finden Sie eine Auflistung mit dem gespeicherten Auftrag, der Periodizität und der Möglichkeit, einen Cron zu löschen oder zu pausieren.

Wie erstellt man einen Cronjob aus dem LWS Panel?

Diesen Artikel bewerten :

Dieser Artikel war hilfreich für Sie ?

Article utileJa

Article non utileNicht

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Ähnliche Artikel

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?


Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft