Was ist Cronjob ?

Ein Cronjob ist eine zeitgesteuerte Aufgabe, die auf Unix-ähnlichen Betriebssystemen wie Linux und BSD ausgeführt wird. Diese Aufgaben werden vom Cron-Daemon verwaltet, einem Hintergrundprozess, der regelmäßig überprüft, ob es an der Zeit ist, eine bestimmte Aufgabe auszuführen. Cronjobs sind besonders nützlich für wiederkehrende Aufgaben wie Backups, Systemwartung und das Ausführen von Skripten.

Funktionsweise

Crontab-Datei

Die Konfiguration von Cronjobs erfolgt über die sogenannte Crontab-Datei. Jede Zeile in dieser Datei stellt einen einzelnen Cronjob dar und besteht aus fünf Feldern, die die Ausführungszeit angeben, gefolgt von dem auszuführenden Befehl.

Syntax

Die grundlegende Syntax einer Crontab-Zeile lautet:

* * * * * /pfad/zum/befehl
| | | | |
| | | | +----- Tag der Woche (0 - 7) (Sonntag ist sowohl 0 als auch 7)
| | | +------- Monat (1 - 12)
| | +--------- Tag des Monats (1 - 31)
| +----------- Stunde (0 - 23)
+------------- Minute (0 - 59)

Beispiel

Ein Cronjob, der jeden Tag um Mitternacht ein Backup-Skript ausführt, könnte wie folgt aussehen:

0 0 * * * /usr/local/bin/backup.sh

Verwaltung von Cronjobs

Crontab-Befehle

  • Anzeigen der Crontab-Datei: Um die aktuelle Crontab-Datei eines Benutzers anzuzeigen, verwenden Sie den Befehl:
    crontab -l
    
  • Bearbeiten der Crontab-Datei: Um die Crontab-Datei zu bearbeiten, verwenden Sie:
    crontab -e
    
  • Löschen der Crontab-Datei: Um alle Cronjobs eines Benutzers zu löschen, verwenden Sie:
    crontab -r
    

Systemweite Cronjobs

Systemweite Cronjobs werden in speziellen Verzeichnissen wie /etc/cron.d//etc/cron.daily//etc/cron.hourly//etc/cron.weekly/ und /etc/cron.monthly/ verwaltet. Diese Verzeichnisse enthalten Skripte, die zu den angegebenen Zeiten ausgeführt werden.

Erweiterte Funktionen

Platzhalter und Ranges

  • Platzhalter: Das Sternchen * wird als Platzhalter verwendet und steht für „jedes mögliche Wert“.
  • Ranges: Mit Bindestrichen können Wertebereiche angegeben werden, z.B. 1-5 für Montag bis Freitag.
  • Listen: Mit Kommata können mehrere Werte angegeben werden, z.B. 1,15 für den 1. und 15. des Monats.

Sonderzeichen

  • Schrägstrich /: Wird verwendet, um Schritte anzugeben, z.B. */5 für alle 5 Minuten.
  • Fragezeichen ?: Wird in einigen Cron-Implementierungen als Platzhalter für „keinen spezifischen Wert“ verwendet.
  • Bindestrich -: Gibt einen Bereich an, z.B. 1-5 für Montag bis Freitag.
  • Komma ,: Trennt einzelne Werte, z.B. 1,3,5 für Montag, Mittwoch und Freitag.

Beispiel für komplexe Cronjobs

Ein Cronjob, der jede Stunde in der ersten Minute und in der 30. Minute ein Skript ausführt, könnte wie folgt aussehen:

1,30 * * * * /usr/local/bin/script.sh

Ein Cronjob, der jeden Montag um 3:00 Uhr morgens ein Wartungsskript ausführt:

0 3 * * 1 /usr/local/bin/maintenance.sh

Überwachung und Logging

Cronjobs generieren oft Ausgaben, die zur Überwachung und Fehlerbehebung nützlich sind. Standardmäßig werden diese Ausgaben per E-Mail an den Benutzer gesendet, der den Cronjob erstellt hat. Alternativ können Sie die Ausgabe in eine Logdatei umleiten:

0 0 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Fazit

Cronjobs sind ein mächtiges Werkzeug zur Automatisierung wiederkehrender Aufgaben in Unix-ähnlichen Betriebssystemen. Mit ihrer flexiblen Syntax und den umfangreichen Konfigurationsmöglichkeiten bieten sie eine zuverlässige Methode zur Verwaltung von Systemaufgaben und Skripten. Durch das Verständnis der Crontab-Syntax und der verschiedenen Optionen können Administratoren sicherstellen, dass ihre Systeme effizient und zuverlässig arbeiten.

Inhaltsverzeichnis

Table Of Contents

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    © 2024 hostingVZ. All rights reserved.