Zum Inhalt springen

Cron: Aufgabenplanung unter Unix und Linux

Cron ist ein Unix-Dienst zur zeitgesteuerten Ausführung wiederkehrender Aufgaben. Artikel erklärt Funktionsweise, Crontab-Format, Anwendungsbeispiele, Varianten und Unterschiede zu Alternativen wie systemd-timer.

Überblick
Cron ist ein Hintergrunddienst (Daemon) in Unix- und Unix-ähnlichen Betriebssystemen, der Programme oder Skripte zu zuvor festgelegten Zeitpunkten automatisch startet. Auf Systemen wie Linux wird Cron häufig für wiederkehrende Wartungsaufgaben, Sicherungen oder automatisierte Abläufe eingesetzt. Der Dienst prüft in regelmäßigen Abständen eine oder mehrere Konfigurationsdateien und startet alle Jobs, deren Zeitmuster zutrifft.

Bildergalerie

1 Bild

Aufbau und Grundprinzip

Die Konfiguration von Cron erfolgt über sogenannte Crontab-Dateien (Cron-Tabelle). Es existieren systemweite Crontabs und persönliche Crontabs pro Benutzer. Jede Zeile in einer Crontab beschreibt ein Zeitmuster und den Befehl, der ausgeführt werden soll. Typischerweise wird die persönliche Crontab mit einem Hilfswerkzeug wie crontab -e bearbeitet, das den Eintrag in das richtige Verzeichnis des Systems schreibt.

Crontab-Format und Beispiele

Eine Crontab-Zeile enthält fünf Felder für die Zeitangabe, gefolgt vom auszuführenden Befehl. Die Felder sind:

  • Minute (0–59)
  • Stunde (0–23)
  • Tag des Monats (1–31)
  • Monat (1–12)
  • Wochentag (0–7, wobei 0 und 7 für Sonntag stehen)

Zusätzlich haben viele Cron-Implementierungen Kürzel wie @reboot, @daily oder @weekly für gebräuchliche Intervalle. Beispiel: 0 2 * * * startet ein Skript täglich um 2:00 Uhr. Cron akzeptiert Platzhalter, Listen und Bereiche (z. B. */15 für alle 15 Minuten).

Geschichte und Name

Der Name Cron leitet sich vom griechischen Wort für Zeit χρónos ab; deswegen findet sich die Herkunft oft in Beschreibungen und Dokumentationen. Verschiedene Implementierungen und Weiterentwicklungen existieren: ursprüngliche Konzepte aus frühen Unix-Systemen, verbreitete Varianten wie Vixie cron oder cronie sowie moderne Alternativen, die eine engere Integration in Systemdienste bieten.

Anwendungsfälle und Beispiele

Cron wird eingesetzt, um Routineaufgaben zu automatisieren: Logrotation, Systemupdates, Datenbank-Sicherungen, regelmäßiges Herunterladen von Dateien (z. B. per curl oder wget) oder das periodische Abrufen von E-Mails (POP/IMAP) und deren Verarbeitung. In Webhosting-Umgebungen sind Cron-Jobs üblich, um wiederkehrende Aufgaben unabhängig von Benutzerinteraktion auszuführen.

Besondere Hinweise, Alternativen und Best Practices

Wichtige Hinweise: Cron führt Befehle in einer minimalen Shell-Umgebung aus, daher sollten Pfadangaben, Umgebungsvariablen und absolute Pfade verwendet werden. Fehlerausgaben lassen sich per Mail an einen Benutzer richten oder in Logs umleiten. Für zeitkritische oder komplexe Abhängigkeiten bieten sich Alternativen wie systemd-Timer an. Weitere Informationen und Beispiele finden sich in Systemd- oder Cron-Dokumentationen (Distributionen und Projektseiten).

Für weiterführende Erläuterungen zur Namensherkunft: χρόνος (chronos) wird in vielen Beschreibungen zur Etymologie von Cron zitiert.

Fragen und Antworten

F: Was ist Cron?

A: Cron ist ein Computerprogramm, das dazu dient, Aufgaben in bestimmten Zeitabständen zu planen.

F: Wo wird Cron verwendet?

A: Cron wird in UNIX-Computerbetriebssystemen und UNIX-ähnlichen Betriebssystemen wie Linux verwendet.

F: Welche Arten von Aufgaben können mit Cron geplant werden?

A: Die meisten sich wiederholenden Aufgaben können mit Cron geplant werden. Es wird häufig zur Automatisierung von Aufgaben im Zusammenhang mit der Wartung oder Verwaltung eines Computers oder Computernetzwerks verwendet, obwohl es auch für viele andere Aufgaben wie das Herunterladen von Dateien aus dem Internet und das Herunterladen von E-Mails zu bestimmten Zeiten oder an bestimmten Tagen eingesetzt werden kann.

F: Woher kommt der Name Cron?

A: Der Name des Computerprogramms Cron leitet sich von dem Wort cron ab, das aus dem griechischen Wort für Zeit, χρόνος (chronos), stammt.

F: Wie wird Cron eingerichtet?

A: Cron wird durch die Bearbeitung einer Datei namens crontab (cron table) eingerichtet. In dieser Datei werden die spezifischen Aufgaben aufgelistet, die der Computer ausführen soll, und wann die Aufgaben ausgeführt werden sollen.

F: Was ist eine crontab?

A: Eine crontab ist eine Datei, in der die spezifischen Aufgaben aufgelistet sind, die der Computer ausführen soll, und wann die Aufgaben ausgeführt werden sollen.

F: Für welche Arten von sich wiederholenden Aufgaben kann Cron verwendet werden?

A: Die meisten sich wiederholenden Aufgaben im Zusammenhang mit der Wartung oder Verwaltung eines Computers oder Computernetzwerks können mit Cron automatisiert werden. Es kann auch für viele andere Aufgaben wie das Herunterladen von Dateien aus dem Internet und das Herunterladen von E-Mails zu bestimmten Zeiten oder Daten verwendet werden.

Verwandte Artikel

Autor

AlegsaOnline.com Cron: Aufgabenplanung unter Unix und Linux

URL: https://de.alegsaonline.com/art/24288

Teilen

Quellen