Geplante Aufgaben – Cronjobs

Mit den geplanten Aufgaben kann man Befehle auf dem Server zu bestimmten Zeiten aufrufen. Dies kann zum Beispiel direkt als Befehlsaufruf, oder mit einem Aufruf einer URL, oder mit einem Aufruf eines php Scriptes erfolgen. Es geht total einfach und man hat viele Optionen aus denen ausgewählt werden kann. In unserem Video stellen wir das einmal vor.

Geplante aufgaben - Cronjobs

cronjobs 1

Die geplanten Aufgaben können ganz einfach im Plesk Menü auf der rechten Seite aufgerufen werden. Das Menü befindet sich in der Hauptansicht unter Website & Domains. Nach dem Klick auf Geplante Aufgaben öffnet sich das Menü in dem man die Konfigurationen vornehmen kann.

 

cronjobs erstellen

In der Übersicht der Geplanten Aufgaben sind alle sogenannten Cronjobs aufgelistet. In diesem Beispiel ist bereits ein geplanter php Aufruf konfiguriert.

Man kann nun für jede Aufgabe in der Liste die Einstellungen ändern, indem man auf en Namen des Befehls klickt auf der linken Seite.

Die aktivierten Cronjobs sind gekennzeichnet. Man kann den Cronjob auch durch den Klick auf Jetzt ausführen direkt starten.

Eine neue Aufgabe dann ganz einfach hinzugefügt werden, wenn man oben im kleinen Menü auf Aufgabe hinzufügen klickt. Es öffnet sich dann das Konfigurationsmenü für den Cronjob.

 

PHP Cronjobs planen

cronjobs php

Um ein php Script zu bestimmten Zeiten aufzurufen kann man den Aufgabentyp auf PHP-Skript ausführen setzen.

Beim Scriptpfad muss der Pfad relativ zum Dokumentenstamm des ganzen Accounts angegeben werden. Das Script sollte innerhalb der Domain selbst liegen. Klingt kompliziert? Ist es aber nicht. Bei der Domain unter Webhosting & Domains steht ganz unten der Pfad in den die Domain zeigt.

website domains ip und pfad

In diesem Beispiel wie meistens also /httpdocs . Das bedeutet, die Domain selbst zeigt in das /httpdocs Verzeichnis auf dem Server. Ein Script wie wp-cron.php müsste dann also unter httpdocs/wp-cron.php in dem Account liegen. Damit man hier keine Fehler macht gibt es neben dem Feld Skriptpfad einen Ordner mit dem man das Script auf dem Server suchen und hinzufügen kann.

Zusätzlich lassen sich noch Argumente eingeben. Also nur die Werte beispielsweise 1 2 3 mit Leerzeichen getrennt. Im Script kann man diese Werte dann mit $argv[0] abfragen.

Praktisch ist auf jeden Fall, dass man die php Version auswählen kann mit der das Script ausgeführt werden soll. Somit kann man auch mit einer älteren Version ein Script ausführen.

Darunter wird noch die Zeit abgefragt wann das Script ausgeführt werden soll. In diesem Beispiel ist der Cron-Stil angegeben, also Minute Stunde Tag des Monats Wochentag also in dem Fall immer zur Minute 28 und 58 jeden Tag.

Man kann aber auch die Option stündlich, täglich,wöchentlich,monatlich und jährlich auswählen und dann die passende Uhrzeit auswählen.

Eine Beschreibung sollte man noch angeben, damit man den Cronjob leichter findet, wenn man mehrere hat.

Die Benachrichtigung erzeugt eine eMail mit einem Statusbericht. Hier ist es ratsam entweder keine Benachrichtigung einzustellen, oder nur bei Fehlern eine eMail zu erzeugen.

Die eMail geht dann an den Accountinhaber der im Menü eingetragen ist.

 

 

URL Cronjobs einrichten

cronjobs url

Wie auch bei den php Scripten kann man zu einer bestimmten Zeit eine URL aufrufen. In diesem Fall die eigene Domain mit dem Script, welches ist dann in dem Verzeichnis der Domain befindet. Das Script wird dann so aufgerufen als würde jemand von aussen die URL aufrufen. Argumente kann man einfach hinter die URL schreiben, also ?variable=wert&variable2=wert

Ausführen kann man das Script auch wie bei den Befehlen in einfach auszuwählender Form. In diesem Beispiel also täglich um 0:00 Uhr.

Eine passende Beschreibung und die Benachrichtigung noch eingetragen, dann ist der URL Cronjob auch schon fertig und kann mit Jetzt ausführen getestet werden.

Bei dem Menüpunkt Protokolle findet man dann evtl. aufgetretene Fehler.

Befehle als Cronjob ausführen

cronjobs command

Als letzte Möglichkeit haben wir noch die Befehlsausführung als geplante Aufgabe.

Im Befehlsfels muss dann der Befehlt und der Scriptname angegeben werden. Auch hier gilt wieder, dass das Script mit dem Pfad angegeben muss der beim Account beginnt. Also nicht /var/www/vhosts/domain/httpdocs/scriptname.sh , sondern einfach httpdocs/scriptname.sh

Befehle werden in einer chroot Umgebung ausgeführt, damit auf keine Dateien ausserhalb des Accounts zugegriffen werden kann. Der Nachteil von chroot ist die Limitierung der Befehle. Sollte es also zu Fehlermeldungen kommen wie Datei oder Verzeichnis nicht gefunden, dann lässt sich das leider nicht ändern. Die gängigen Befehle stehen aber zur Verfügung. Für ganz spezielle Sachen eignet sich ein managed Server dann eher.

 

Cronjobs kann man prima einsetzen, um zu bestimmten Uhrzeiten Befehle auszuführen mit denen man beispielsweise Backups erstellt, oder Aktualisierungen anstossen kann. Durch das Menü kann man alle Optionen sehr leicht auswählen und verwenden.