Startseite > Paket- & Systemverwaltung > cron

cron: Daemon für die zeitgesteuerte Ausführung von Aufgaben

cron ist ein Daemon (Hintergrunddienst) in Linux/Unix-Systemen, der Befehle oder Skripte zu festgelegten Zeiten automatisch ausführt. Benutzer oder Systemadministratoren registrieren und verwalten Aufgaben (cron jobs) hauptsächlich über den Befehl crontab. Dieser Daemon startet automatisch beim Systemstart, läuft im Hintergrund und prüft und führt registrierte Aufgaben periodisch aus.

Übersicht

Der cron-Daemon ist einer der Kern-Dienste des Systems und wird zur Automatisierung wiederkehrender Aufgaben verwendet. Benutzer können über die crontab-Datei festlegen, welcher Befehl, zu welcher Zeit und in welchem Intervall ausgeführt werden soll. Es gibt eine crontab-Datei für das gesamte System (/etc/crontab) und separate crontab-Dateien für einzelne Benutzer.

Hauptmerkmale

  • Zeitbasierte Aufgabenplanung
  • Verwaltung von Aufgaben pro Benutzer/für das gesamte System
  • Automatische Ausführung im Hintergrund
  • Nutzung für regelmäßige Systemwartung und Automatisierung

Wichtige Optionen

Der cron-Daemon startet normalerweise automatisch beim Systemstart, und es ist selten, dass er direkt über die Befehlszeile ausgeführt wird. Die folgenden Optionen werden hauptsächlich verwendet, um den cron-Daemon manuell zu starten oder zu debuggen. Benutzer verwalten cron-Aufgaben in der Regel über den Befehl crontab.

Daemon-Steuerung und Debugging

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`cron` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Der cron-Daemon selbst wird selten direkt ausgeführt; meistens wird sein Status mit systemctl überprüft oder Aufgaben werden mit crontab verwaltet.

Status des cron-Dienstes überprüfen

systemctl status cron

Überprüft, ob der cron-Daemon derzeit ausgeführt wird.

Crontab-Datei des aktuellen Benutzers bearbeiten

crontab -e

Fügt, ändert oder löscht cron-Aufgaben für den aktuellen Benutzer.

Liste der cron-Aufgaben des aktuellen Benutzers anzeigen

crontab -l

Zeigt alle für den aktuellen Benutzer registrierten cron-Aufgaben an.

Inhalt der System-Crontab-Datei anzeigen

cat /etc/crontab

Zeigt die für das gesamte System geltenden cron-Aufgaben an. (Vorsicht bei Änderungen)

cron-Dienst neu starten

sudo systemctl restart cron

Startet den Dienst neu, um Änderungen an der cron-Konfiguration zu übernehmen.

Tipps & Hinweise

Tipps und Hinweise zur effizienten und sicheren Verwaltung von cron-Aufgaben.

Wichtige Tipps

  • **Umgebungsvariablen**: Die Shell-Umgebungsvariablen in der crontab-Umgebung können eingeschränkt sein. Es ist daher ratsam, benötigte Umgebungsvariablen im Skript explizit zu setzen oder vollständige Pfade zu verwenden.
  • **Protokollprüfung**: Wenn cron-Aufgaben nicht wie erwartet ausgeführt werden, können Sie die Protokolle über syslog oder journalctl -u cron überprüfen, um die Ursache des Problems zu ermitteln.
  • **Ausgabe-Umleitung**: Die Standardausgabe (stdout) und Standardfehlerausgabe (stderr) von cron-Aufgaben werden standardmäßig an den ausführenden Benutzer per E-Mail gesendet. Um unnötige E-Mails zu vermeiden, leiten Sie die Ausgabe nach /dev/null um oder speichern Sie sie in einer Protokolldatei (z.B. `command > /path/to/log.log 2>&1`).
  • **Verwendung von @reboot**: Für Aufgaben, die nur einmal nach einem Systemneustart ausgeführt werden sollen, kann das Schlüsselwort `@reboot` verwendet werden.
  • **Crontab-Syntax**: Die Zeitplan-Syntax im Format `Minute Stunde Tag Monat Wochentag` muss korrekt verstanden und angewendet werden.

Gleiche Kategorie Befehle