Cron ist ein Klassiker und fast überall verfügbar. Doch manchmal stößt es an Grenzen – zum Beispiel, wenn der Rechner ausgeschaltet ist, während ein Job geplant war.
Hier kommen
anacron und
systemd timers ins Spiel. Beide erweitern die Möglichkeiten von Cron und sind auf vielen modernen Linux-Systemen verfügbar.
🔹 Problem von Cron: "Verpasste" Jobs
- Cron führt Jobs genau zur geplanten Zeit aus.
- Läuft dein System nicht, wenn der Zeitpunkt erreicht ist → der Job wird einfach übersprungen.
- Beispiel: Ein Backup ist für 2 Uhr morgens geplant. Dein Laptop ist aber über Nacht ausgeschaltet → Backup fällt aus.
👉 Lösung:
anacron sorgt dafür, dass solche Jobs
nachgeholt werden.
🔹 Anacron – Nachholen von Jobs
Anacron ist ein Zusatzdienst, der speziell für Desktops und Laptops gedacht ist.
Läuft ein geplanter Job zur vorgesehenen Zeit nicht → Anacron startet ihn beim nächsten Systemstart nach.
Ideal für
Backups und
Wartungsarbeiten.
Installation
Auf Ubuntu/Debian:
sudo apt install anacron
Konfiguration
Die Konfigurationsdatei ist:
/etc/anacrontab
Aufbau:
PERIODE VERZÖGERUNG JOB-ID BEFEHL
Beispiel:
1 5 backup-job /home/user/backup.sh
1 → alle 1 Tag
5 → 5 Minuten Verzögerung nach dem Start
backup-job → eindeutige ID
/home/user/backup.sh → auszuführender Befehl
👉 Damit wird das Backup-Skript
einmal pro Tag ausgeführt, auch wenn der PC um 2 Uhr ausgeschaltet war.
🔹 systemd timers – der moderne Ersatz
Viele Linux-Distributionen nutzen heute systemd als Init-System.
Darin gibt es
Timer-Units, die Cron vollständig ersetzen können.
Vorteile gegenüber Cron
- Genauere Steuerung (Sekunden-genau möglich).
- Bessere Integration mit Diensten.
- Logs über journalctl.
- Wiederholungen, Zufallsverzögerungen, Abhängigkeiten.
Beispiel: Timer erstellen
- Service-Unit (z. B.
/etc/systemd/system/backup.service):
[Unit]
Description=Backup Job
[Service]
Type=oneshot
ExecStart=/home/user/backup.sh
- Timer-Unit (z. B.
/etc/systemd/system/backup.timer):
[Unit]
Description=Backup Timer
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
- Aktivieren:
sudo systemctl enable --now backup.timer
👉 Der Timer sorgt dafür, dass der
backup.service täglich um 2 Uhr läuft.
Mit
Persistent=true wird der Job beim nächsten Start nachgeholt, falls er verpasst wurde.
Timer überwachen
🔹 Vergleich: Cron, Anacron, systemd timers
Cron
- Typisch für: Server & Dauerbetrieb
- Vorteil: Einfach, überall verfügbar
- Nachteil: Jobs können ausfallen
Anacron
- Typisch für: Laptops & Desktops
- Vorteil: verpasste Jobs werden nachgeholt
- Nachteil: keine minutengenaue Jobs
systemd timers
- Typisch für: Moderne Distros
- Vorteil: Sehr flexibel, Logs integriert, robust
- Nachteil: Etwas komplexer zu lernen
👉 Empfehlung:
- Server → Cron oder systemd timers
- Laptops/Desktops → Anacron oder systemd timers
🔹 Übung
- Installiere Anacron und füge einen Job in
/etc/anacrontab ein, der täglich dein Home-Verzeichnis sichert.
- Erstelle mit systemd einen Timer, der einmal pro Woche ein Skript ausführt (z. B. ein Update-Skript).
- Vergleiche mit
systemctl list-timers, welche Timer aktiv sind.
✅ Zusammenfassung
- Cron läuft zuverlässig, aber verpasst Jobs, wenn der Rechner aus ist.
- Anacron holt solche Jobs nach – ideal für Laptops und Desktops.
- systemd timers sind moderner, flexibler und oft die bessere Wahl für neue Systeme.
- Je nach Anwendungsfall solltest du das passende Werkzeug wählen.
👉
Im nächsten Kapitel erstellen wir ein
Abschlussprojekt: ein vollständiges Cron-Setup, das Backups, Systempflege und Monitoring umfasst.
📚 Inhaltsverzeichnis
👉
Cron Kapitel 1: Grundlagen von Cron & dem Task-Scheduler
👉
Cron Kapitel 2: Die Crontab verstehen – Aufbau & Syntax
👉
Cron Kapitel 3: Eigene Cronjobs erstellen – erste Automatisierungen
👉
Cron Kapitel 4: Cronjobs überwachen & Fehler finden
👉
Cron Kapitel 5: Praktische Cron-Beispiele für den Alltag
👉
Cron Kapitel 6: Sicherheit & Best Practices für Cronjobs
👉
Cron Kapitel 7: Erweiterungen – anacron & systemd timers
👉
Cron Kapitel 8: Abschlussprojekt – Dein eigenes Cron-Setup