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 morgens30 18 * * Mon-Fri
: Läuft jeden Wochentag um 18:30 Uhr0 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:
- Öffnen Sie das Terminal.
- Geben Sie
crontab -e
ein, um die Crontab-Datei zu bearbeiten. - Wählen Sie Ihren Texteditor, falls Sie dazu aufgefordert werden.
- Fügen Sie Ihren Cron-Job-Ausdruck in einer neuen Zeile hinzu.
- 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 Minuten9-14
: Von 9 bis 14 Uhr (14 Uhr ist Stunde 14 im 24-Stunden-Format)* *
: Jeder Tag des Monats und jeder Monat1-5
: Montag bis Freitag
Einrichten des Cron Jobs für Wochentage
Um diesen Cron Job einzurichten:
- Öffnen Sie Ihr Terminal
- Geben Sie
crontab -e
ein, um Ihre Crontab-Datei zu bearbeiten - 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.