crontab

So richten Sie Cron-Jobs unter Linux ein

So richten Sie Cron-Jobs unter Linux ein
Die Automatisierung und Planung wiederholter Aufgaben auf Desktops und Servern verbessert die Produktivität und reduziert manuelle Eingriffe und Überwachung. Für Linux stehen zahlreiche solcher Tools zur Verfügung und eines der am weitesten verbreiteten unter ihnen ist „cron“.

Dieser Artikel erklärt das Planen von Aufgaben und das Ausführen von Skripten in regelmäßigen Abständen mit Cron-Jobs.

Was ist Cron?

Cron ist ein Task-Scheduling-Programm, das als Prozess im Hintergrund läuft. Es kann verwendet werden, um in regelmäßigen Abständen bestimmte Jobs auszuführen, die mit seinem vordefinierten Regelwerk geplant sind. Cron ist auf den meisten Linux-Distributionen vorinstalliert oder in den Repositorys zur manuellen Installation verfügbar.

Cron-Voreinstellungen

Cron unter Ubuntu wird mit einer Reihe vordefinierter Scheduler geliefert. Sie können sie überprüfen, indem Sie den folgenden Befehl ausführen:

$ ls /etc/cron.*

Normalerweise sind diese Ordner „/etc/cron.stündlich“, „/etc/cron.täglich“, „/etc/cron.monatlich“ und „/etc/cron.wöchentlich".

Legen Sie einfach Ihre gewünschten Skripte in einen dieser Ordner, um automatisierte Aufgaben stündlich, täglich, monatlich oder wöchentlich auszuführen.

Beachten Sie, dass Cron standardmäßig die Shell "/bin/sh" verwendet. Wenn Sie „/bin/bash“ als Shell in Cron-Skripten verwenden möchten, müssen Sie „!# /bin/bash“ Hashbang am Anfang der Skriptdatei oder definieren Sie Shell als „SHELL=/bin/bash“ Variable in der ersten Zeile in einem geplanten Bash-Skript. Das Überschreiben der Umgebungsvariable „SHELL“ funktioniert auch für den unten erläuterten Crontab-Editor.

Möglicherweise sind nicht alle Systemumgebungsvariablen für die Cron-Jobs verfügbar. Daher ist es im Allgemeinen eine gute Idee, wichtige Umgebungsvariablen manuell in einem von cron geplanten Skript zu definieren.

Crontab

Crontab ermöglicht es Ihnen, Ihre eigenen geplanten Aufgaben zu definieren. Sie können damit Cron-Zeitpläne konfigurieren, die sich von den vier oben erläuterten Standard-Cron-Voreinstellungen unterscheiden.

Um eine geplante Aufgabe in Crontab festzulegen, starten Sie zuerst den Crontab-Editor mit dem folgenden Befehl:

$crontab -e

Am Ende der Datei können Sie nun einen Eintrag in folgendem Format hinzufügen:

Minute Stunde Tag Monat Wochentag /full/path/to/script.Sch

Wo:

Der crontab-Eintrag unten macht einen Screenshot von Ihrem Desktop und speichert ihn einmal um 15:13 Uhr am 2. März und jeden Dienstag im März um 15:13 Uhr in Ihrem Home-Verzeichnis.

13 15 2 3 2 scrot

Um alle crontab-Einträge aufzulisten, verwenden Sie den folgenden Befehl:

$ crontab -l

Mehr Beispiele

Cron-Aufgaben lassen sich am besten anhand von Beispielen erklären. Nachfolgend finden Sie einige Beispiele, die regelmäßig Screenshots Ihres Desktops erstellen und im Home-Ordner speichern.

Neben den fünf Scheduling-Variablen verwendet cron auch eine spezielle Zeichenfolge, um Jobs zu planen. Diese Saiten sind:

Der folgende crontab-Eintrag macht bei jedem Neustart einmal einen Screenshot:

@reboot scrot

Sie können „@reboot“ durch alle anderen oben genannten speziellen Zeichenfolgen ersetzen replace.

Wenn Sie anstelle einer der fünf Variablen ein Sternchen oder Platzhalter verwenden, wird der Job für alle neuen Instanzen dieser Variablen wiederholt repeat. Der folgende Eintrag macht jede Minute einen Screenshot:

* * * * * 

Jede Stunde:

0 * * * *  scrot

Täglich um 18:00 Uhr:

0 18 * * * scrot

Jeden Monat am 6. um 18:00 Uhr:

0 18 6 * * scrot

Verwenden Sie „/“, um ein Skript in einem festen periodischen Intervall von 30 Minuten auszuführen (wird alle 30 Minuten ausgeführt):

*/30 * * * * scrot

Sie können durch Kommas getrennte Variablen verwenden, um die wiederholte Ausführung des Skripts in regelmäßigen Abständen zu definieren. Im folgenden Beispiel wird jede 1., 4. und 5. Minute einer neuen Stunde ein Screenshot Ihres Desktops erstellt.

1,4,5 * * * * 

Crontab-Einträge überprüfen

Das Definieren von crontab-Einträgen kann schwierig sein, aber sie zu debuggen oder zu überprüfen, ob sie mit den richtigen Zeitstempeln funktionieren, ist noch schwieriger. Eine Möglichkeit besteht darin, eine virtuelle Maschine zu verwenden und Zeitstempel eines Skripts zu protokollieren, das regelmäßig für einen Cron-Job ausgeführt wird, indem Sie so etwas wie den Befehl „date“ einfügen und die Ausgabe in eine Textdatei umleiten. Eine bessere Lösung ist jedoch die Nutzung eines der zahlreichen Online-Cronjob-Testdienste, die im Internet verfügbar sind. Ich empfehle, eine Cron-Tester-Website zur Verfügung zu stellen Hier ein Versuch.

Fazit

Das Ausführen von Cron-Jobs ist eine hervorragende Möglichkeit, sich wiederholende Aufgaben zu automatisieren, insbesondere auf Servern. Das Tool ist extrem leistungsstark und anpassbar. Es ist jedoch wichtig sicherzustellen, dass Ihre Scheduler-Definition korrekt funktioniert, insbesondere wenn es geschäftskritische Aufgaben gibt.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...