Linux-Systeme sind bekannt für ihre Stabilität und Flexibilität. Eine ihrer größten Stärken liegt in der Möglichkeit, Aufgaben im Hintergrund zu automatisieren.
Das Werkzeug, das dafür seit Jahrzehnten genutzt wird, heißt Cron. In diesem Kapitel lernst du, was Cron ist, wie es funktioniert und welche Grundbegriffe du kennen musst, bevor wir eigene Jobs erstellen.
🔹 Was ist Cron?
Cron ist ein Daemon (also ein Hintergrunddienst), der auf fast jedem Linux- oder Unix-System standardmäßig aktiv ist. Seine Aufgabe:
- Überwachen, ob zu einem bestimmten Zeitpunkt ein geplanter Befehl oder ein Skript ausgeführt werden soll.
- Diese Aufgaben starten, ohne dass du manuell eingreifen musst.
Der Name „Cron“ leitet sich vom griechischen Wort Chronos (Zeit) ab – und genau darum geht es: Zeitgesteuerte Aufgaben.
Beispiele für den Einsatz von Cron:
- Ein tägliches Backup um 2 Uhr morgens.
- Jede Stunde alte temporäre Dateien löschen.
- Jeden Montag einen Bericht per Mail verschicken.
- Systemupdates regelmäßig anstoßen.
👉 Cron ist also das Herzstück für Automatisierungen unter Linux.
🔹 Wie Cron im Hintergrund arbeitet
Cron läuft als Dienst, der permanent aktiv ist. Er überprüft in regelmäßigen Abständen (meist jede Minute), ob ein Job auszuführen ist.
Die Konfiguration der geplanten Aufgaben geschieht über sogenannte Crontabs.
Es gibt zwei Arten:
1. Benutzer-Crontabs: Jeder User kann seine eigenen Jobs definieren.
- Werden mit
crontab -e
bearbeitet. - Liegen intern unter
/var/spool/cron/crontabs/
.
2. System-Crontabs: Enthalten globale Aufgaben für das gesamte System.
- Liegen in
/etc/crontab
oder/etc/cron.*
-Verzeichnissen (cron.daily
,cron.weekly
, …).
👉 Wichtig: Als normaler Benutzer siehst du nur deine eigenen Cronjobs. Root und Administratoren können zusätzlich systemweite Jobs definieren.
🔹 Cron-Dienst prüfen
Um sicherzugehen, dass Cron läuft, kannst du den Dienststatus abfragen:
systemctl status cron
oder bei manchen Distributionen:
systemctl status crond
👉 Ist Cron aktiv, bekommst du eine Ausgabe ähnlich wie:
● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled) Active: active (running) since ...
Falls Cron nicht läuft, kannst du es starten:
sudo systemctl start cron
🔹 Unterschiede zu modernen Tools
Neben Cron gibt es heute auch systemd timers, die oft als moderner Ersatz gelten. Sie haben mehr Funktionen und sind teilweise flexibler.
In diesem Kurs konzentrieren wir uns aber auf Cron, weil es:
- auf allen Linux-Systemen verfügbar ist,
- einfacher zu verstehen ist,
- und perfekt für Einsteiger geeignet ist.
👉 systemd timers behandeln wir später als Bonus.
🔹 Erste Übersicht der eigenen Cronjobs
crontab -l
Wenn noch keine existieren, bekommst du die Meldung:
no crontab for <username>
👉 Keine Sorge – das bedeutet nur, dass du bisher keine eigenen geplanten Aufgaben angelegt hast.
🔹 Übung
- Prüfe, ob der Cron-Dienst auf deinem System läuft (systemctl status cron).
- Liste deine eigenen Cronjobs auf (crontab -l).
- Falls keine existieren: Lege noch keine neuen an, sondern merke dir nur den Befehl – wir starten damit im nächsten Kapitel.
✅ Zusammenfassung
- Cron ist ein Daemon, der zeitgesteuerte Aufgaben automatisiert.
- Es gibt Benutzer-Crontabs (für jeden User) und System-Crontabs (für das gesamte System).
- Mit
systemctl status cron
kannst du prüfen, ob Cron aktiv ist. - Mit
crontab -l
siehst du deine eigenen geplanten Aufgaben.
👉 Im nächsten Kapitel lernen wir die Syntax einer Crontab und wie man Zeitpläne für Aufgaben richtig aufbaut.