Geplante Aufgaben / Cron Jobs

Der cron Daemon ist ein Dienst auf Unix und unix-artigen Betriebssystemen, der immer wiederkehrende Aufgaben z.B. Datensicherungen zu einer oder mehreren vorbestimmten Zeiten ausführt. Auf Windows-Systemen (nicht Windows 9x/Me) kann für die Ausführung von wiederkehrenden Aufgaben die Aufgabenplanung verwendet werden (Systemsteuerung - Verwaltung - Aufgabenplanung).

Wählen Sie im Menü Einstellungen - Geplante Aufgaben um die geplanten Aufgaben (CronJobs) und den geplanten Ausführungszeitpunkt anschauen und ändern zu können.

Hinweis
Die geplanten Aufgaben gelten für alle Administratoren und Nutzer des Systems.

 

Ergebnisse der Ausführung der Aufgaben

Im Menü Einstellungen - Ereignisprotokoll können Sie die Ausführung jeder Aufgabe kontrollieren.

 

Aufruf des CronJob-PHP-Scripts

Alle CronJob-Aufträge werden vom Script crons.php verarbeitet, welches sich im Verzeichnis dieses PHP-Script-Pakets befindet. Das Script crons.php führt dabei alle Aufgaben im angegeben Ausführungsintervall automatisch aus. Mit Hilfe der einzelnen Parameter für jede Aufgabe, z.B. Löschen von alten CronJob-Einträgen in den Einstellungen, wird die Ausführung jeder Aufgabe beeinflusst.

Zur Ausführung des CronJob-Scripts stehen 4 Varianten zur Verfügung

1. CronJob-Eintrag (unter Windows Aufgabenplanung) auf dem Server erstellen

Erstellen Sie einen neuen CrobJob-Eintrag (unter Windows Aufgabenplanung) mit kompletten http(s)://-Aufruf des Scripts crons.php.

Der Aufruf sollte einmal pro Minute aber spätestens einmal pro Stunde durchgeführt werden, so dass die oben aufgeführten Ausführungsintervalle der einzelnen Aufgaben eingehalten werden können.
Für einen schnellen Versand der E-Mails ist ein Aufruf einmal pro Minute oder gar Sekunde zwingend erforderlich.

 

Für den Aufruf sollte wget oder curl verwendet werden, eines der beiden Tools sollte auf dem Server installiert sein.

 

curl oder wget unter Windows
Unter Windows sind die Tools für das Aufrufen von Seiten per http(s):// normalerweise nicht verfügbar, die Windows-Version von wget kann unter http://www.gnu.org/software/wget/, die Windows-Version von curl unter https://curl.haxx.se/download.html geladen werden.

 

 

Beispiel für das Erstellen eines CronJob-Eintrags in Plesk (Ausführung einmal pro Minute, jeden Tag, jeden Monat) mit wget


Beispiel für das Erstellen eines CronJob-Eintrags direkt auf der Konsole (crontab -e)

Hinweis
Die Angabe -O /dev/null -o /dev/null (Buchstabe O in Klein- und Großschreibung) bewirkt, dass etwaige Ausgaben von wget sofort vergessen werden.

 

Aufruf per curl

Der Aufruf per curl ist ähnlich wie bei wget:

curl --silent "http(s)://www.ihreseite.de/crons.php" &>/dev/null

 

2. Verwendung eines externen CronJob-Diensts

Sie können einen externen CronJob-Dienst verwenden, welches das Script crons.php im Script-Paket-Verzeichnis regelmäßig aufruft.

 

3. Einfügen des Scriptaufrufs in die eigene Webseite(nicht empfohlen)

Fügen Sie den folgenden JavaScript-Code in Ihre Webseite (z.B. Startseite der Webpräsenz) ein. Jedes Mal wenn ein Besucher die Webseite aufruft wird das CronJob-Script ausgeführt.



4. Manuelles Ausführen des CronJob-Scripts (nicht empfohlen)

Klicken Sie auf "CronJobs jetzt manuell ausführen" um das CronJob-Script manuell auszuführen.

 

 

Aufruf des Scripts crons.php öfter als einmal pro Minute

Es ist unter Unix/Linux-Systemen nicht möglich eine Aufgabe öfter als einmal pro Minute per Crontab aufzurufen. Um dies denoch zu erreichen muss der http(s)://-Aufruf zeitversetzt erfolgen, dazu müssen mehrere Crontab-Einträge erstellt werden. Für den Aufruf alle 15 Sekunden sind entsprechend 4 Einträge notwendig, die zur gleichen Zeit aufgerufen werden aber durch das Kommando sleep verzögert ausgeführt werden.

Beispiel mit wget
Crontab-Eintrag 1: wget -O /dev/null -o /dev/null http://www.seite.de/swm/crons.php
Crontab-Eintrag 2: sleep 15; wget -O /dev/null -o /dev/null http://www.seite.de/swm/crons.php
Crontab-Eintrag 3: sleep 30; wget --O /dev/null -o /dev/null http://www.seite.de/swm/crons.php
Crontab-Eintrag 4: sleep 45; wget -O /dev/null -o /dev/null http://www.seite.de/swm/crons.php

Beispiel mit curl
Crontab-Eintrag 1: curl --silent "http://www.seite.de/swm/crons.php" &>/dev/null
Crontab-Eintrag 2: sleep 15; curl --silent "http://www.seite.de/swm/crons.php" &>/dev/null
Crontab-Eintrag 3: sleep 30; curl --silent "http://www.seite.de/swm/crons.php" &>/dev/null
Crontab-Eintrag 4: sleep 45; curl --silent "http://www.seite.de/swm/crons.php" &>/dev/null

Siehe dazu auch
How to create a scheduled task to fetch URL every 15 seconds

 

Die CronJob-Typen

 

CronJob-Typ Beschreibung
Prüfung Ablauf Opt-In/Opt-Out Prüft den Ablauf von nicht bestätigten Anmeldungen oder Abmeldungen für alle erstellten Empfängerlisten. Es werden dabei aus den Empfängerlisten nicht bestätigte Anmeldungen gelöscht bzw. der Status von nicht bestätigten Abmeldungen wieder zurückgesetzt. Der Zeitpunkt des Löschens bzw. Rücksetzen des Status hängt von der Einstellung des Ablaufzeitpunkts der jeweiligen Empfängerliste ab.

 

Löschen von alten CronJob-Log-Einträgen Löscht die abgelaufenen Einträge des Ereignisprotokolls. Der Ablaufzeitpunkt hängt vom Wert "Tage nach denen die Cron-Job-Protokoll-Einträge gelöscht werden sollen" in den Einstellungen ab.

 

Löschen von alten Empfängerlisten-Statistik-Einträgen Löscht die Statistik-Einträge für jede Empfängerliste. In den Statistikeinträgen werden Daten zu Anmeldung, Abmeldungen und Bounces gespeichert. Diese Daten können Sie unter Menü Statistik in Form der An-/Abmeldestatistik anschauen. Der Ablaufzeitpunkt hängt vom Wert "Tage nach denen die Protokoll-Einträge für die Empfängerliste(n) gelöscht werden sollen" in den Einstellungen ab.

 

Prüfung auf unzustellbare E-Mails (Hard bounces) Prüft die den Empfängerlisten zugewiesenen Postfächer auf den Eingang von Bounce-E-Mails.

 

Löschen von Responder/E-Mailing-Versand-Einträgen Löscht die einzelnen Versandeinträge der Responder oder E-Mailings.

 

Automatischer Empfänger-Import Führt den automatischen Import von Empfängern aus Dateien oder Datenbanken automatisch durch.

 

Prüfung Verteilerlisten (nicht in SuperWebMailer-Basic bzw. SuperMailingList-Basic) Prüft alle Verteilerlisten auf eingegangene E-Mails und versendet diese.

 

Prüfung auf zu versendende E-Mails (nicht in SuperMailingList-Basic) Prüft den Ausgangsqueue auf Versandaufträge und führt falls notwendig den E-Mail-Versand im Hintergrund nach und nach durch. Die Anzahl der auf einmal zu versendenden E-Mails hängt von der Einstellung "Anzahl zu versendende E-Mails" in den Einstellungen ab.

 

 

Zusätzliche CronJob-Typen für die PHP Newsletter Software SuperWebMailer

 

Löschen von Tracking-Daten der Responder/Mailings Löscht die Tracking-Daten (Öffnungsstatistik und Klick-Statistik) der Responder und E-Mailings.

 

Prüfung Autoresponder (nicht in Basic-Variante) Führt die Autoresponder-Aufgaben, Prüfung auf neue E-Mails und Versand der Autoresponder-Antworten aus.

 

Prüfung Follow-Up-Responder (nicht in Basic-Variante) Prüft alle Follow-Up-Responder ob E-Mails an die Empfänger der Empfängerlisten versendet werden müssen und gibt falls notwendig den Versandauftrag an den Ausgangsqueue.

 

Prüfung Geburtstags-Responder (nicht in Basic-Variante) Prüft alle Geburtstags-Responder auf anstehende Geburtstage und gibt falls notwendig den Versandauftrag an den Ausgangsqueue.

 

Prüfung RSS2EMail-Responder (nicht in Basic-Variante) Prüft alle RSS2EMail-Responder auf neuen RSS-Feed-Einträge in den hinterlegten RSS-Feeds und versendet die neuen Einträge per E-Mail.

 

Prüfung auf anstehende E-Mailings Prüft einmalige oder geplante E-Mailings auf das Erreichen des Versandzeitpunkts und gibt falls notwendig den Versandauftrag an den Ausgangsqueue.

 

Prüfung auf anstehende Split Tests Prüft auf auszuführende Split-Tests, versendet diese oder führt Auswertungen der definierten Split-Tests durch.

 

Prüfung auf anstehende SMS-Kampagnen Versendet geplante SMS-Kampagnen.