Zum Hauptinhalt springen

Cron-Arbeit unter Linux: Eine detaillierte Anleitung und Beispiele

Im Linux-Betriebssystem wird ein spezielles Tool - Cron - verwendet, um bestimmte Aufgaben zu planen und zu automatisieren. Dieses Tool basiert auf dem Prinzip der «Zeitplanung unter Unix", bei dem die Zeit als Kalender mit festgelegten Parametern wie Tag, Stunde, Minute usw. dargestellt wird. Mit Cron können Sie sich wiederholende Aufgaben regelmäßig und automatisch ausführen, ohne dass der Benutzer eingreifen muss.

Die Crontab-Datei, die eine Liste von Aufgaben enthält, die aus Befehlen und Zeitparametern für ihre Ausführung bestehen, ist die Hauptkomponente der Cron-Arbeit. In Crontab können Sie die folgenden Zeiteinstellungen festlegen: Minuten, Stunden, Tage des Monats, Monate, Wochentage. Jede Aufgabe kann ihre eigene einzigartige Kombination dieser Parameter haben oder sie können kombiniert werden, um eine Aufgabe zu bestimmten Zeiten und Tagen der Woche oder des Monats auszuführen.

Zum Beispiel kann eine Aufgabe geplant werden, um jede Minute, jede Stunde, jeden Tag zu einer bestimmten Zeit, jeden Montag oder nur an bestimmten Tagen im Monat ausgeführt zu werden. Diese Flexibilität bei der Konfiguration der Aufgabenausführung ermöglicht es Cron, ein leistungsfähiges Automatisierungstool zu sein.

Darüber hinaus bietet cron die Möglichkeit, Befehle mit erhöhten Benutzerrechten auszuführen, was es zu einem unverzichtbaren Werkzeug für Systemadministratoren macht.

Mit dem Befehl crontab -e können Sie Aufgaben zu crontab hinzufügen. Mit diesem Befehl können Sie Aufgaben bearbeiten oder zur Liste hinzufügen. Aufgaben in crontab können im Namen des aktuellen Benutzers oder im Namen eines bestimmten Systembenutzers mit sudo ausgeführt werden.

Was ist Cron Linux und warum wird es benötigt?

Mit Cron können Sie verschiedene Arten von Aufgaben ausführen. Sie können beispielsweise festlegen, dass Skripts, Programme, Befehlszeilen, Datenbankaktualisierungen und vieles mehr ausgeführt werden. Dies ermöglicht Ihnen, Routineaufgaben zu automatisieren und die Systemeffizienz zu verbessern.

Cron basiert auf einer Crontab-Datei, die einen Zeitplan für die Ausführung von Aufträgen enthält. Diese Datei gibt die Zeit und Häufigkeit der Ausführung der Aufgabe sowie den auszuführenden Befehl an. Wenn cron die angegebene Zeit erreicht, wird der Befehl ausgeführt und die Ausführungsergebnisse im Protokoll erfasst.

Cron hat eine breite Palette von Anwendungen. Sie können es beispielsweise verwenden, um Daten zu sichern, regelmäßig nach Softwareupdates zu suchen, Berichte zu senden, temporäre Dateien zu bereinigen und vieles mehr.

Das Verständnis der Funktionsweise von Cron ist für Systemadministratoren und Entwickler wichtig, da Sie die Ausführung von Aufgaben automatisieren und Zeit und Aufwand sparen können, was besonders für große und komplexe Projekte von Vorteil ist.

Was macht Cron Linux?

Cron hat ein eigenes spezielles Zeitformat, das aus fünf oder sechs Feldern besteht, die die Startzeiten von Aufgaben definieren. Die ersten fünf Felder (Minuten, Stunden, Tage des Monats, Monate und Wochentage) werden verwendet, um die genaue Startzeit von Aufträgen zu bestimmen. Das sechste Feld (Benutzername) wird verwendet, um anzugeben, für welchen Benutzer der Task ausgeführt werden soll.

Das FeldDie Beschreibungzulässiger Wert
MinutenStunde Minute0-59
UhrEine Stunde des Tages0-23
MonatstagMonatstag1-31
MonateMonat des Jahres1-12 oder Jan-Dez
WochentageWochentag0-7 oder all-sub
BenutzernameDer Benutzer, für den die Aufgabe ausgeführt wirdJeder gültige Benutzername

cron kann für die automatische Ausführung von Aufgaben wie das Erstellen von Backups, das Aktualisieren von Software, das Herunterladen von Daten usw. sehr nützlich sein. Es kann auch verwendet werden, um die Ausführung von Befehlen für eine bestimmte Zeit zu planen oder Aufgaben regelmäßig im Hintergrund auszuführen.

Außerdem kann Cron so konfiguriert werden, dass Aufgaben ausgeführt werden, abhängig davon, ob eine Internetverbindung besteht oder nicht, freier Speicherplatz oder andere Bedingungen vorhanden sind.

Alle Cron-Jobs können mit dem Befehl crontab angezeigt und bearbeitet werden. Darüber hinaus können Systemadministratoren Cron-Jobs für verschiedene Benutzer konfigurieren und verwalten.

Warum ist Cron Linux für die Automatisierung wichtig

Mit Cron können Sie eine Vielzahl von Aufgaben ausführen, z. B. Daten sichern, Software aktualisieren, Berichte senden, regelmäßige Berichte erstellen und vieles mehr. Dies ist besonders nützlich für Systemadministratoren oder Entwickler, die bestimmte Vorgänge regelmäßig ausführen müssen, ohne dass sie ständig überwacht oder eingegriffen werden muss. Darüber hinaus können Sie mit Cron Aufgaben im Hintergrund ausführen, ohne die Hauptprozesse des Systems zu unterbrechen, was einen reibungslosen Betrieb gewährleistet.

Ein weiterer Vorteil von Cron ist seine Flexibilität und Anpassbarkeit. Sie können einen bestimmten Zeitpunkt und ein bestimmtes Datum angeben, an dem die Aufgabe ausgeführt wird, sowie die ausgewählten Tage der Woche oder des Monats. Außerdem können Sie festlegen, dass die Aufgabe alle paar Minuten, Stunden oder Tage ausgeführt wird. Auf diese Weise können Sie genau steuern, wann und wie eine geplante Aufgabe ausgeführt wird.

Insgesamt ist die Automatisierung von Aufgaben mit Cron Linux ein wesentliches Werkzeug, um das System effektiv zu verwalten. Es ermöglicht Ihnen, Zeit von sich wiederholenden Operationen zu befreien, die Möglichkeit menschlicher Fehler zu beseitigen und die Zuverlässigkeit und Stabilität des Systems zu gewährleisten.

So verwenden Sie Cron Linux

Um Cron unter Linux zu verwenden, müssen Sie die folgenden Schritte ausführen:

  1. Öffnen Sie ein Terminal oder eine SSH-Sitzung auf Ihrem Linux-Server.
  2. Geben Sie crontab -e ein, um die cron-Datei zur Bearbeitung zu öffnen.
  3. Wählen Sie einen Texteditor aus, um die Cron-Datei zu bearbeiten. Sie werden aufgefordert, einen Editor aus der Liste auszuwählen. Wenn Sie mit den Editoren nicht vertraut sind, wird empfohlen, nano oder vi zu wählen.
  4. Fügen Sie der Datei Cron-Aufgaben hinzu. Jede Aufgabe muss in einer separaten Zeile aufgeführt sein und muss gültige Cron-Datensätze sein.
  5. Speichern Sie die Datei, und schließen Sie den Texteditor.

Beispiele für Cron-Einträge:

0 * * * * command - führen Sie den Befehl jede Stunde zu Beginn jeder Stunde aus.

0 2 * * 1 command - führen Sie den Befehl jeden Montag um 2:00 Uhr aus.

*/5 * * * * command - führen Sie den Befehl alle 5 Minuten aus.

Nachdem Sie die Änderungen in der Cron-Datei gespeichert haben, werden die geplanten Aufgaben automatisch zu den entsprechenden Datums- und Uhrzeiten ausgeführt.

Weitere Informationen zum Format der Cron-Einträge finden Sie in der Dokumentation Ihres Linux-Betriebssystems.

Einfaches Linux-Cron-Setup-Beispiel

Betrachten Sie ein Beispiel für die Verwendung von Cron, um ein Skript jeden Tag zu einer bestimmten Zeit auszuführen.

Angenommen, wir haben ein Skript namens "myscript.sh " das wollen wir jeden Tag um 14:30 Uhr starten.

Öffnen Sie dazu das Terminal und geben Sie den Befehl ein:

crontab -e

Fügen Sie im geöffneten Editor die folgende Zeile hinzu:

30 14 * * * /path/to/myscript.sh
  • "30" bedeutet die Minute, in der das Skript ausgeführt wird.
  • "14" bedeutet die Stunde, in der das Skript ausgeführt wird.
  • "*" bedeutet, dass der Start jeden Tag stattfindet, unabhängig von Datum und Monat.
  • "/path/to/myscript.sh" ist der Pfad zu unserem Skript, das ausgeführt werden soll.

Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei und schließen Sie den Editor.

Jetzt wird cron unser Skript ausführen "myscript.sh " jeden Tag um 14:30 Uhr.

Um sicherzustellen, dass die Konfiguration ordnungsgemäß funktioniert, können Sie einen Befehl hinzufügen, der bei jedem Ausführen des Skripts eine Meldung an die Konsole sendet. Zum Beispiel:

30 14 * * * /path/to/myscript.sh >> /path/to/log.txt

Dadurch wird das Ergebnis der Ausführung des Skripts zur Datei "log" hinzugefügt.txt" jedes Mal, wenn es gestartet wird.

Erweiterte Cron Linux-Funktionen und Anwendungsbeispiele

Neben der grundlegenden Verwendung verfügt cron linux über einige erweiterte Funktionen, mit denen Sie noch mehr Optionen für Jobs konfigurieren können. Hier sind einige von ihnen:

  • Verwenden von Umgebungsvariablen: cron kann Umgebungsvariablen verwenden, die in der Produktionsumgebung des Benutzers definiert sind. Sie können beispielsweise eine Umgebungsvariable mit einem Pfad zu einer ausführbaren Datei festlegen, die von einem Cron-Job gestartet wird.
  • Steuern der Ausgabe: sie können konfigurieren, wie Cron die Ausgabe eines Jobs verarbeitet. Sie können die Ausgabe an eine E-Mail senden, in einer Protokolldatei speichern oder einfach ignorieren.
  • Zu einer bestimmten Zeit starten: neben der standardmäßigen Möglichkeit, Aufträge zu bestimmten Zeiten auszuführen, können Sie die Ausführung von Aufträgen basierend auf einem Kalenderplan mit Cron konfigurieren. Sie können beispielsweise jeden Montag um 9:00 Uhr festlegen, dass eine Aufgabe ausgeführt wird.
  • Spezielle Schlüsselwörter verwenden: cron bietet einige spezielle Schlüsselwörter, um den Zeitplan für die Ausführung von Aufgaben anzupassen. Sie können beispielsweise das Schlüsselwort "@hourly" verwenden, um eine Aufgabe jede Stunde auszuführen, oder "@weekly", um die Aufgabe einmal pro Woche auszuführen.

Hier sind Beispiele für die Verwendung dieser erweiterten Funktionen:

    Ausführen eines Skripts mit Umgebungsvariablen:

SHELL=/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin0 9 * * * /path/to/script.sh
[email protected] 9 * * * /path/to/script.sh
0 9 * * 1 /path/to/script.sh
@hourly /path/to/script.sh

Dies sind nur einige Beispiele dafür, wie Sie die erweiterten Cron-Funktionen von Linux nutzen können. Mit diesen Funktionen können Sie den Zeitplan für die Ausführung Ihrer Aufgaben flexibel anpassen und deren Ausgabe verwalten.

Wie funktioniert Cron Linux

Cron-Arbeit basiert auf einem Zeitplan gibt an, wann oder wie oft eine bestimmte Aufgabe ausgeführt wird. Jeder Linux-Benutzer hat seine eigene Cron-Aufgabenliste, und jede Aufgabe hat ihre eigene Syntax, um einen Zeitplan zu definieren.

Die Cron-Aufgabenliste befindet sich in der Crontab-Systemdatei. Das Team crontab -e wird zum Öffnen einer Crontab-Datei in einem Texteditor verwendet, in dem Cron-Aufgaben hinzugefügt, bearbeitet oder gelöscht werden können.

Aufgaben werden zu einem bestimmten Zeitpunkt oder in regelmäßigen Abständen mit Befehlen oder Skripts ausgeführt. Das Team crontab durchsucht die Aufgabenliste, bestimmt, ob die Aufgabe aktuell ausgeführt werden muss, und führt sie aus, wenn die Bedingungen erfüllt sind.

Der Cron-Zeitplan besteht aus fünf Feldern:

  1. Minuten: 0 bis 59 (0 bedeutet jede Minute)
  2. Uhr: 0 bis 23 (0 bedeutet Mitternacht)
  3. Monatstag: 1 bis 31 (1 bedeutet den ersten Tag des Monats)
  4. Monate: von 1 bis 12 (1 bedeutet Januar)
  5. Wochentage: 0 bis 7 (0 und 7 bedeuten Sonntag, 1 bedeutet Montag usw.)

Diese Felder können einen einzelnen Wert enthalten oder Sonderzeichen können verwendet werden:

  • * - ein beliebiger Wert (zum Beispiel bedeutet * im Feld "Monate" jeden Monat)
  • , - Aufteilung der Werte (zum Beispiel bedeutet 1,5,9 im Feld "Tage des Monats" den ersten, fünften und neunten Tag des Monats)
  • - - definieren eines Bereichs von Werten (z. B. 1-5 im Feld "Wochentage" bedeutet Montag bis Freitag)
  • / - Schrittdefinition (zum Beispiel bedeutet */5 im Feld "Minuten" alle 5 Minuten)

Ein Beispiel: Eine Aufgabe, die jeden Tag um 2 Uhr und 30 Minuten in der Nacht ausgeführt wird, kann die folgende Cron-Zeile haben:

Dies ist nur eines von vielen möglichen Beispielen für die Verwendung von Cron unter Linux. Mit den Cron-Funktionen können Sie komplexe Aufgabenpläne einrichten, um das System zu automatisieren.