So erstellen Sie einen Cron-Job unter Linux: Cron-Job unter Ubuntu

Die Automatisierung von Aufgaben unter Linux ist nun einfacher geworden. Diese Funktion wird nämlich durch Crontabs realisiert, die es uns ermöglichen, mehrere Aufgaben zu planen, die Benutzer zu einem bestimmten Zeitpunkt ausführen möchten; jede dieser Aufgaben wird als Cron-Job bezeichnet.

Die Cron-Jobs sind Shell-Skripte oder Linux-Befehle, die in den Crontab-Dateien festgelegt sind; sie werden vom Cron-Daemon überwacht und zu einem bestimmten Zeitpunkt ausgeführt.

In diesem Artikel werden wir untersuchen, wie man Cron-Jobs unter Ubuntu 22.04 einrichtet und wie Cron-Jobs im Linux-Betriebssystem funktionieren.

Was ist ein Cron-Job?

Cron ist ein zeitbasierter Job-Scheduler für Linux-/Unix-Distributionen. Er ermöglicht es Ihnen, Jobs so zu planen, dass sie nach einem bestimmten Zeitintervall ausgeführt werden. Mithilfe von Cron-Jobs können Sie Systemadministrations- und Wartungsaufgaben im Linux-Betriebssystem automatisieren. Außerdem können Sie Cron-Jobs unter Linux für verschiedene Zwecke nutzen, beispielsweise:

  • Automatisierung der Sicherung von Datenbanken, Dateien und Systemverzeichnissen in festgelegten Zeitintervallen. Dies gewährleistet nicht nur die Datenverfügbarkeit im Falle eines Systemausfalls oder Datenverlusts, sondern gewährleistet auch die Datenintegrität.
  • Linux-Administratoren können Ubuntu-Cron-Jobs nutzen, um automatisierte Berichte zu einem festgelegten Zeitpunkt zu erstellen und zu versenden. Diese Berichte liefern Einblicke in Sicherheitsereignisse, die Systemleistung oder andere kritische Aktivitäten. Auf diese Weise tragen Cron-Jobs zur Verbesserung von Überwachungs- und Entscheidungsprozessen bei.
  • Mithilfe von crontab können Sie die Verfügbarkeit von Diensten regelmäßig überprüfen. Dieser Überwachungsansatz hilft dabei, Dienstunterbrechungen zu erkennen und zu beheben.

Im Folgenden erfahren Sie, wie Sie das Ubuntu-Dienstprogramm für Cron-Jobs installieren und verwenden.

Voraussetzungen

Um Cron-Jobs unter Ubuntu zu installieren und zu verwenden, sollten folgende Voraussetzungen erfüllt sein:

  • Auf Ihrem System oder in einer VirtualBox sollte Ubuntu 22.04 oder eine stabile Version laufen.
  • Sie sollten über sudo- oder Root-Rechte verfügen, um die erforderlichen Dienstprogramme zu installieren und auszuführen.

Schritt-für-Schritt-Anleitung: Wie erstellt man einen Cron-Job unter Linux?

Das Cron-Dienstprogramm ist auf den meisten Linux-Distributionen vorinstalliert. Sie können die Installation jedoch mit dem Befehl „systemctl status cron“ überprüfen. Öffnen Sie das Terminal mit „Strg + Alt + t“ und geben Sie den folgenden Befehl ein, um den Ausführungsstatus zu überprüfen:

$ sudo systemctl status cron

Installation des Cron-Dienstprogramms unter Ubuntu 22.04

Wenn Sie in Ihrem Terminal dasselbe Ergebnis erhalten, ist der Cron-Daemon auf Ihrem Ubuntu-System aktiv und läuft. Sollte der Dienst jedoch nicht gefunden werden oder das Cron-Dienstprogramm aus irgendeinem Grund nicht auf Ihrem System installiert sein, können Sie das Cron-Dienstprogramm mit den folgenden Schritten auf Ihrem Ubuntu 22.04-System installieren:

Schritt 1: System-Pakete aktualisieren

Zunächst wird empfohlen, die lokalen Repositories Ihres Systems einschließlich aller Pakete mit dem Befehl „apt update“ zu aktualisieren:

$ sudo apt update

Schritt 2: Cron unter Ubuntu installieren

Um Cron-Jobs nutzen zu können, müssen Sie ein Cron-Dienstprogramm auf Ihrem Linux-System installieren. Unter Ubuntu 22.04 können Sie das Cron-Dienstprogramm über die standardmäßigen Ubuntu-APT-Repositorys mit dem folgenden Befehl installieren:

$ sudo apt install cron

Sobald Sie das Cron-Dienstprogramm auf Ihrem System installiert haben, können Sie Aufgaben regelmäßig zu bestimmten Tagen, Monaten, Wochen, Stunden und Zeitintervallen planen und ausführen.

Schritt 3: Cron-Dienst aktivieren und starten

Aktivieren und starten Sie nun den Cron-Dienst, damit dieser auch nach einem Neustart Ihres Systems im Hintergrund weiterläuft. Verwenden Sie dazu den folgenden Befehl:

$ sudo systemctl enable cron

Nachdem Sie diesen Dienst aktiviert haben, wird auf Ihrem System ein symbolischer Link erstellt. Starten Sie den Cron-Dienst mit folgendem Befehl:

$ sudo systemctl start cron

Überprüfen Sie nun erneut den Ausführungsstatus des Cron-Jobs. Auf dem Bildschirm sollte folgende Ausgabe angezeigt werden:

Cron-Jobs unter Linux erstellen

Alle Cron-Jobs werden in einer Konfigurationsdatei namens „crontab“ festgelegt. Um also einen neuen Cron-Job zu erstellen, müssen Sie die crontab-Datei mit dem folgenden Befehl aufrufen:

$ crontab -e 

Wenn Sie die Crontab auf Ihrem System zum ersten Mal starten, müssen Sie eine Option auswählen, um einen Datei-Editor festzulegen, den Sie für die Ausführung Ihrer Cron-Jobs verwenden können. Hier wählen wir den Editor „/bin/nano“ aus und drücken die Eingabetaste.

Die Crontab-Datei wird im Terminal angezeigt. Diese Datei füllt das Terminal mit der grundlegenden Syntax von Cron-Ausdrücken.

Hier werden Sie das Symbol „#“ am Anfang jeder Zeile bemerken. Dieses Symbol kennzeichnet einen Zeilenkommentar.

Grundlegende Syntax von Cron-Jobs

Ein Cron-Job wird in einem spezifischen Cron-Ausdruck geschrieben. Dieser Ausdruck besteht aus zwei Teilen: dem geplanten Zeitpunkt und dem Befehl, den Sie in Ihrem Terminal ausführen möchten.

In der Regel umfasst die Syntax eines Cron-Jobs sechs durch Leerzeichen getrennte Parameter oder Argumente. Die ersten fünf sind Sternchen (*), die den geplanten Ausführungszeitpunkt darstellen, während das sechste Argument ein Befehl oder ein Shell-Skript mit vollständigem Dateipfad ist.

Wenn Sie einen Cron-Job auf Ihrem System planen, wird das Muster mit fünf Sternchen (*) verwendet. Jedes Sternchen steht für einen Zeitpunkt gemäß der folgenden Reihenfolge:

[minute] [hour] [day of month] [month] [day of week] [command]

Cron führt Befehle nur dann aus, wenn die Einstellungen für Minute, Stunde und Monat mit der aktuellen Uhrzeit übereinstimmen und mindestens eine der Tag-Konfigurationen – sei es der Tag des Monats oder der Wochentag – mit dem aktuellen Datum übereinstimmt. Für diese Einstellungen können Sie bestimmte zulässige Werte verwenden:

so erstellen sie einen cron-job unter linux: cron-job unter ubuntu

Lassen Sie uns die Syntax für die Cron-Ausführungszeit anhand eines Beispiels erläutern:

Beispiel

Angenommen, Sie möchten jeden Mittwoch um 14:00 Uhr einen Cron-Job ausführen. In diesem Fall lautet die Syntax für Ihren Cron-Job wie folgt:

0 12 * * 3 <command>

Im obigen Cron-Ausdruck bedeutet „0“, dass der Cron-Job einmal ausgeführt wird, „12“ bedeutet, dass der Cron-Job um 12 Uhr mittags (im 24-Stunden-Format) ausgeführt wird, „* *“ bedeutet, dass der Job jeden Tag in jedem Monat ausgeführt wird, und die „3“ gibt an, dass er am Mittwoch ausgeführt wird.

Nehmen wir ein weiteres Beispiel: Sie möchten mithilfe des Befehls „echo“ jede Minute eine „Meldung“ mit einem Datum anzeigen. Diese Meldung wird anschließend an die Datei „testfile.txt“ angehängt.

* * * * * echo „Willkommen, $date“ >> $HOME/Dokumente/testfile.txt

Der obige Befehl erstellt im Verzeichnis „home/Dokumente“ Ihres Systems eine Datei mit dem Namen „testfile.txt“.

Öffnen Sie diese Datei, und Sie sehen folgenden Inhalt:

Verwaltung von Cron-Jobs unter Linux

Sobald Sie einen Cron-Job erstellt haben, können Sie die Cron-Jobs ganz einfach verwalten. Bei der Arbeit mit crontab ist Vorsicht geboten, da falsche Einstellungen oder Konfigurationen zu unerwarteten Ergebnissen führen können. Es ist außerdem wichtig, geplante Aufgaben regelmäßig zu überwachen und zu testen, um sicherzustellen, dass Ihre automatisierten Prozesse korrekt ablaufen.

Um alle Cron-Jobs aufzulisten, können Sie diese mit dem folgenden Befehl anzeigen:

$ crontab -l 

Wie Sie auf dem Screenshot sehen können, wird nur ein Cron-Job ausgeführt, und zwar der oben erstellte.

Benutzereigene Cron-Jobs unter Linux auflisten

Ebenso können Sie auch benutzereigene Cron-Jobs verwalten. Die Crontab-Dateien der einzelnen Benutzer werden im Spool-Bereich gespeichert. Wenn Sie alle Dateien im Spool-Verzeichnis auflisten, können Sie benutzereigene Crontab-Dateien mit dem folgenden Befehl ganz einfach im Blick behalten:

$ ls /var/spool/cron/crontabs

Sie können die crontab-Dateien der Benutzer auch auflisten, indem Sie den folgenden Befehl mit „root“-Rechten ausführen:

$ crontab -u <user-name> -l

Ersetzen Sie „username“ durch Ihren Benutzernamen.

Ubuntu-Cron-Job löschen

Wenn Sie einen Cron-Job unter Linux löschen möchten, verwenden Sie den folgenden Befehl:

$ crontab -r

Um einen Cron-Job eines bestimmten Benutzers zu löschen, verwenden Sie folgenden Befehl:

Einen Cron-Job bearbeiten

Wenn Sie eine Datei für einen bestimmten Benutzer bearbeiten möchten, können Sie den Cron-Job mit dem folgenden Befehl bearbeiten:

$ crontab -r -u <username>

Cron-Jobs-Protokoll auflisten

Standardmäßig werden die Aktivitäten und Protokolle im Zusammenhang mit dem Cron-Dienst in der globalen Protokolldatei unter „/var/log/syslog“ gespeichert. Um speziell die Aktivitäten und Meldungen des Cron-Dienstes anzuzeigen, können Sie den Befehl „grep“ verwenden, um die relevanten Informationen aus der Syslog-Datei zu filtern und zu extrahieren.

$ crontab -u <username> -e

Auf diese Weise können Sie die Einträge, die sich auf die Aktivitäten des Cron-Dienstes beziehen, isolieren und ausschließlich anzeigen.

Sie können zudem die systemweiten Crontab-Dateien verwalten. Diese System-Crontabs, die geplante Aufgaben für das gesamte System enthalten, sind auf den Root-Benutzer beschränkt. Sie können von keinem anderen Benutzer geändert werden.

Im Gegensatz zu benutzerspezifischen Crontabs gibt es keinen speziellen „crontab“-Befehl, mit dem sich diese systemweiten Crontab-Dateien direkt bearbeiten lassen. Stattdessen müssen Systemadministratoren direkt auf diese Dateien zugreifen und sie bearbeiten, um Änderungen oder Ergänzungen an den systemweiten geplanten Aufgaben vorzunehmen. Um auf den Inhalt dieser systemweiten Dateien zuzugreifen, verwenden Sie den unten angegebenen Befehl:

$ nano /etc/crontab

Wenn Sie für Ihr Linux-System VPS-Hosting nutzen, befolgen Sie die oben genannten Schritte, um mithilfe von Crontabs neue Cron-Jobs hinzuzufügen. Ebenso können Sie Cron-Jobs auf Ihrem Rechner mithilfe verschiedener Tools problemlos verwalten.

Fazit

In dieser Anleitung haben wir gelernt, wie Sie das Cron-Dienstprogramm unter Ubuntu 22.04 einsetzen, um Aufgaben unter Linux zu automatisieren. Cron ist ein Dienstprogramm, mit dem Sie Aufgaben planen und so einrichten können, dass sie zu bestimmten Zeiten, an bestimmten Tagen oder in regelmäßigen Abständen ausgeführt werden.

Cron ist ein praktisches Tool, das häufig von Systemadministratoren genutzt wird, um ihre Arbeit zu erleichtern. Nachdem Sie diese Anleitung durchgearbeitet haben, sollten Sie nun ein gutes Verständnis dafür haben, wie Sie Cron zur Planung von Aufgaben auf Ihren Linux-Systemen einsetzen können.

Falls Sie weitere Informationen benötigen, können Sie jederzeit die offizielle Cron-Dokumentation oder das crontab-Handbuch einsehen. Um Hilfe zu crontab zu erhalten, verwenden Sie den Befehl „man cron“ über das Terminal.

Blog