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

Cron ist ein sehr nützliches Werkzeug für Systemadministratoren, um verschiedene Aufgaben zu automatisieren, wie z. B. die Sicherung von Daten, die Aktualisierung von Software, dasVersenden von E-Mails etc.

Auf diese Aufgaben wird ein Timeout von 240s angewendet, d. h. wenn Ihr Skript länger als 4 Minuten zur Ausführung benötigt, wird es nach 4 Minuten automatisch abgeschaltet.

Wie erstelle ich einen Cronjob?

Rufen Sie das Werkzeug Cronjob auf.

Im ersten Schritt müssen Sie sich in Ihr LWS-Konto einloggen und auf das Shared Hosting zugreifen, für das Sie einen Cronjob erstellen möchten.

Sobald Sie sich in der Verwaltung Ihres Dienstes befinden, suchen Sie den Block"Datenbank & PHP" und klicken Sie auf"Cronjobs".

Wie erstellt man einen Cronjob aus dem LWS Panel?

Konfigurieren Sie die Periodizität der Cronaufgabe.

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

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, einfach die Zahl 27 aus und wählen Sie in der Liste, die dem Stundenfeld angehängt ist, 12:00 pm (Mittag) aus.

Tipps / 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 verringern.
  • 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 automatischen Aufgaben ausgeführt werden, wie es z. B. bei einigen CMS oder Tools, die auf Ihrer Website verwendet werden, der Fall sein kann.

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 läuft es über das HTTP-Protokoll, d. h. es unterliegt den Apache-Konfigurationen und -Einschränkungen, wie z. B. dem Timeout, das relativ kurz sein kann.

Was denPHP-Aufruf betrifft, so ist dieser frei von den Einschränkungen, die wir bei den beiden anderen 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. Wir würden 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, derAufruf über PHP. Im Gegensatz zu Curl oder Wget ist die Wartezeit (Timeout) hier 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 -s -H "Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php" > /dev/null

Es kann auch sein, dass wir Parameter an unser Skript senden müssen. Dazu fügen Sie die Parameter wie folgt ein:

curl -d "param1=value1&param2=value2" -s -H "Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php" > /dev/null

So können wir im Code unseres Skripts diese Parameterwerte in POST abrufen.

Option Rolle
-s Stiller Modus (kein Fortschrittsbalken).
-H "Cache-Control: no-cache". Erzwingt serverseitiges Nicht-Caching.
> /dev/null Leitet die Ausgabe so um, dass nichts gespeichert wird.

Wget-Aufruf

Bei einem Wget-Aufruf, der ebenfalls das HTTP-Protokoll verwendet, werden wir wie beim cURL-Aufruf auch die URL unseres Skripts aufrufen. Dies wird dann so aussehen:

wget --no-cache --output-document=/dev/null --header="Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php".

Für den Fall, dass wir dem Skript Parameter übergeben müssen, haben wir mit Wget keine andere Wahl, als die Parameter per GET zu übergeben. Der Befehl wird wie folgt geschrieben:

wget --no-cache --output-document=/dev/null --header="Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php?param1=value1&param2=value2".

Im Skript können wir diese beiden Parameter in GET abrufen.

Option Rolle
--no-cache Vermeidet die Verwendung von Zwischenspeichern (nützlich bei einigen Proxys).
--output-document=/dev/null Speichert nichts lokal.
--header="Cache-Control: no-cache". Sendet einen HTTP-Header, um den serverseitigen Cache zu umgehen.

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.

Dann reicht es, wenn Sie im Cronjob-Tool den folgenden Befehl eingeben:

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 auszuführen
  • unser Skript durch Hinzufügen von Parametern und in der gewählten Periodizität auszuführen.

Erstellen eines Protokolls

Wir werden nun sehen, wie wir eine Protokolldatei erstellen, die uns einen Überblick darüber verschafft, 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, der in das Feld "Befehl" eingegeben werden muss:

curl -s -H "Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php" > /htdocs/logs/cron_curl.log 2>&1

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.

Option Rolle
-s Stiller Modus (kein Fortschrittsbalken).
-H "Cache-Control: no-cache". Erzwingt serverseitiges Nicht-Caching.
> /htdocs/logs/cron_curl.log leitet die Standardausgabe (stdout) in die Datei cron_curl.log um.
2>&1 leitet auch die Fehler (stderr) in die gleiche Datei um.

Beispiel Wget-Aufruf mit Rückgabe in einer Log-Datei.

Für einen Wget-Aufruf ist folgender Befehl zu implementieren:

wget -O - -q --no-cache --header="Cache-Control: no-cache" "https://www.mon-domaine.fr/cron.php" > /htdocs/logs/cron_wget.log 2>&1

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.

Option Rolle
--no-cache Vermeidet die Verwendung von Zwischenspeichern (nützlich bei einigen Proxys).
--header="Cache-Control: no-cache". Sendet einen HTTP-Header, um den serverseitigen Cache zu vermeiden.
--post-data="..." fügt einen benutzerdefinierten HTTP-Header hinzu.
> /htdocs/logs/cron_wget.log leitet die Standardausgabe (stdout) auf cron_wget.log um.
2>&1 leitet auch die Fehler (stderr) in die gleiche Datei um.

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?

Meine erstellten Cronjobs anzeigen

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 Befehl, der Periodizität und der Möglichkeit, einen Cronjob zu löschen oder zu pausieren.

Wie erstellt man einen Cronjob aus dem LWS Panel?

Wie bearbeite ich einen Cronjob?

Wenn Sie ein LWS-Starterpaket oder ein höheres Paket haben, können Sie den Cronjob für Ihr Paket über das Webterminal in Ihrer Paketverwaltung bearbeiten.

Dazu loggen Sie sich in Ihr Webhosting ein und greifen auf das Shared Hosting zu, für das Sie einen Cronjob bearbeiten möchten.

Klicken Sie auf"Terminal" , das sich in der Rubrik "Software" befindet.

Wie erstellt man einen Cronjob aus dem LWS Panel?

Greifen Sie mit dem folgenden Befehl auf die cron-Datei zu:

crontab -e

Wie erstellt man einen Cronjob aus dem LWS Panel?

Sobald Sie sich in der cron-Datei befinden, durchsuchen Sie die Datei nach der Aufgabe, die Sie bearbeiten möchten. Jede Zeile in der Datei steht für eine eigene Aufgabe. Bearbeiten Sie dann die Cronaufgabe und achten Sie dabei darauf, dass die Syntax korrekt bleibt. Speichern Sie die Aufgabe, indem Sie die Tastenkombination [STRG] +X und dann"Y" verwenden. Klicken Sie schließlich auf die Taste [Enter].

Sie haben nun die Möglichkeit zu überprüfen, ob der Cronjob korrekt geändert wurde, indem Sie den folgenden Befehl verwenden:

crontab -l

Wie erstellt man einen Cronjob aus dem LWS Panel?

Cronjobs mit Cloudflare DNS verwenden

Warum funktionieren meine Crons nicht mit CloudFlare?

Sie haben Ihre Domain mit CloudFlare über dessen DNS verknüpft und möchten in Ihrem Kundenbereich unter der Rubrik Verbunden einen Cronjob einrichten, aber der Job wird nur einmal ausgeführt, ohne sich in dem von Ihnen gewünschten Zeitintervall zu wiederholen. Dieses Problem ist bekannt, CloudFlare blockiert die Ausführung von Cronjobs, die von unseren Diensten gesendet werden. Um dieses Problem zu beheben, finden Sie hier eine Lösung, um es zu umgehen.

Einen Cronjob mithilfe von CloudFlare ausführen lassen

Cronjobs, die über den Kundenbereich eingerichtet wurden, funktionieren nicht, wenn Sie die DNS von CloudFlare verwenden. Um dieses Problem zu beheben, sollten Sie folgendermaßen vorgehen:

  1. Erstellen Sie eine Subdomain (z.B.: cron.domain.ext) von Ihrem Kundenbereich aus, indem Sie dieser Dokumentation folgen.
  2. Legen Sie die Datei, die von Ihrem Cronjob ausgeführt wird, in den Ordner mit dem Namen Ihrer Subdomain auf dem FTP-Bereich Ihres Hostings.
  3. Erstellen Sie Ihren Cronjob vom Kundenbereich aus, indem Sie dem obigen Abschnitt in dieser Dokumentation folgen.
  4. Melden Sie sich bei Ihrem CloudFlare-Konto an, das mit Ihrem Domainnamen verknüpft ist.

Führen Sie in der Rubrik "DNS" das Hinzufügen eines CNAME-Eintrags wie im folgenden Beispiel aus:

Wie erstellt man einen Cronjob aus dem LWS Panel?

Ersetzen Sie"cron" durch den Namen Ihrer Subdomain und"domain.ext" durch Ihren Domainnamen.

Achten Sie darauf, dass die Wolke grau und nicht orange ist. Dies signalisiert CloudFlare, dass Sie für diese Subdomain nicht über seine Dienste gehen möchten.

Anschließend können Sie auf die Schaltfläche"Add Record" klicken.

Schlussfolgerung

Sie wissen nun, wie Sie : - Den Nutzen und die Funktionsweise eines Cronjobs verstehen 🤖.

  • Mit dem LWS Cronjob ⏱️ Skripte automatisch einrichten und starten.
  • Auf das Werkzeug Cronjob zugreifen und die Periodizität konfigurieren ✅.
  • Die verschiedenen Aufrufmethoden (PHP, wget, cURL) für Ihre Skripte verwenden 🌐.
  • Erstellen Sie eine Nachverfolgung mit Logdateien für Ihre Cronjobs 📝.
  • Verwalten, bearbeiten und visualisieren Sie Ihre erstellten Cronjobs 🛠️
  • Cronjobs mit Cloudflare DNS verwenden, um Laufzeitprobleme zu umgehen 🛡️

Wir hoffen, dass Ihnen dieser Artikel alle Schlüssel zur Beherrschung von Cronjobs und zur effektiven Automatisierung Ihrer Systemaufgaben vermittelt hat.

Wenn Sie Fragen, Feedback oder Tipps haben, die Sie mit uns teilen möchten, hinterlassen Sie sie bitte als Kommentar. Vielen Dank fürs Lesen und bis bald mit neuen praktischen Tipps! 🙏💬

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