Wie richtet man einen Cron Job ein, der an Wochentagen läuft?

Veröffentlicht 17. Oktober 2024

Problem: Einrichtung von Cron Jobs nur für Wochentage

Cron Jobs sind Aufgaben, die nach einem Zeitplan ausgeführt werden, aber manchmal müssen diese Aufgaben nur an Wochentagen laufen. Dies stellt eine Herausforderung dar, wenn man Cron Jobs so einrichten möchte, dass sie von Montag bis Freitag laufen und Wochenenden vermeiden.

Einrichtung eines Cron Jobs für Wochentage

Angabe von Wochentagen in der Cron-Syntax

Um Wochentage in der Cron-Syntax anzugeben, verwenden Sie Zahlen (1-5) oder kurze Tagesnamen (Mon-Fri). Im Cron-Format ist 1 Montag und 5 Freitag.

Beispiele für Cron-Ausdrücke an Wochentagen:

  • 0 9 * * 1-5: Läuft jeden Wochentag um 9 Uhr morgens
  • 30 18 * * Mon-Fri: Läuft jeden Wochentag um 18:30 Uhr
  • 0 12 * * 2,4: Läuft dienstags und donnerstags um 12 Uhr mittags

Tipp: Verwendung von Schrittweiten für Wochentage

Sie können Schrittweiten verwenden, um einen Job an bestimmten Wochentagen auszuführen. Zum Beispiel führt 0 9 * * 1-5/2 den Job montags, mittwochs und freitags um 9 Uhr aus.

Erstellen eines Cron Jobs für Wochentage

Um einen Cron Job für Wochentage einzurichten:

  1. Öffnen Sie das Terminal.
  2. Geben Sie crontab -e ein, um die Crontab-Datei zu bearbeiten.
  3. Wählen Sie Ihren Texteditor, falls Sie dazu aufgefordert werden.
  4. Fügen Sie Ihren Cron-Job-Ausdruck in einer neuen Zeile hinzu.
  5. Speichern Sie die Datei und verlassen Sie den Editor.

Der Befehl zum Bearbeiten der Crontab-Datei lautet:

crontab -e

Dies öffnet die Crontab-Datei für den aktuellen Benutzer. Um die Crontab für einen anderen Benutzer oder mit Root-Rechten zu bearbeiten, verwenden Sie:

sudo crontab -u benutzername -e

Ersetzen Sie "benutzername" durch das gewünschte Benutzerkonto.

Beispiel: Ausführen eines Skripts alle 2 Minuten an Wochentagen

Erstellen des Cron-Ausdrucks

Um ein Skript alle 2 Minuten an Wochentagen von 9 bis 14 Uhr auszuführen, verwenden Sie diese Cron-Syntax:

*/2 9-14 * * 1-5 /pfad/zu/ihrem/skript.sh

Hier ist die Bedeutung jedes Teils dieses Ausdrucks:

  • */2: Läuft alle 2 Minuten
  • 9-14: Von 9 bis 14 Uhr (14 Uhr ist Stunde 14 im 24-Stunden-Format)
  • * *: Jeder Tag des Monats und jeder Monat
  • 1-5: Montag bis Freitag

Einrichten des Cron Jobs für Wochentage

Um diesen Cron Job einzurichten:

  1. Öffnen Sie Ihr Terminal
  2. Geben Sie crontab -e ein, um Ihre Crontab-Datei zu bearbeiten
  3. Fügen Sie diese Zeile hinzu:
*/2 9-14 * * 1-5 /pfad/zu/ihrem/skript.sh

Ersetzen Sie /pfad/zu/ihrem/skript.sh durch den vollständigen Pfad zu Ihrem Skript. Zum Beispiel:

*/2 9-14 * * 1-5 /home/benutzername/skripte/meinskript.sh

Stellen Sie sicher, dass Ihr Skript die richtigen Berechtigungen zum Ausführen hat. Sie können diese mit folgendem Befehl setzen:

chmod +x /pfad/zu/ihrem/skript.sh

Dieser Cron Job wird Ihr Skript alle 2 Minuten von 9 bis 14 Uhr, Montag bis Freitag, ausführen.

Tipp: Protokollierung der Cron Job-Ausgabe

Um die Ausführung Ihres Cron Jobs und mögliche Fehler zu verfolgen, können Sie seine Ausgabe in eine Protokolldatei umleiten. Modifizieren Sie Ihren Cron Job-Eintrag wie folgt:

*/2 9-14 * * 1-5 /pfad/zu/ihrem/skript.sh >> /pfad/zur/logdatei.log 2>&1

Dies fügt sowohl die Standardausgabe als auch Fehlermeldungen der angegebenen Protokolldatei hinzu, was Ihnen hilft, die Leistung des Jobs zu überwachen und eventuelle Probleme zu beheben.