- Veröffentlicht am
Einführung in Cron-Jobs
Viewed
times
- Autoren
- Name
Willkommen zum ersten Teil unserer Serie über die Automatisierung periodischer Website-Pings. In diesem Beitrag werden wir uns mit Cron-Jobs beschäftigen – einem wesentlichen Werkzeug zur Automatisierung sich wiederholender Aufgaben auf Unix-basierten Systemen. Egal, ob Sie Entwickler, Systemadministrator oder einfach nur daran interessiert sind, Ihre Arbeitsabläufe zu optimieren, das Erlernen von Cron-Jobs wird äußerst nützlich sein.
Voraussetzungen
Bevor wir anfangen, stellen Sie sicher, dass Sie:
- Grundlegende Kenntnisse der Befehlszeile haben
- Zugriff auf ein Unix- oder Unix-ähnliches Betriebssystem (wie Linux oder macOS) haben
Was sind Cron-Jobs?
Ein Cron-Job ist im Wesentlichen eine geplante Aufgabe, die automatisch in festgelegten Intervallen ausgeführt wird. Diese Aufgaben könnten zum Beispiel regelmäßige Backups, Systemupdates oder Überwachungsskripte sein.
Einrichten von Cron-Jobs
Das Einrichten von Cron-Jobs ist ein einfacher Prozess. Machen Sie sich keine Sorgen, wenn Sie mit der Syntax noch nicht vertraut sind – wir werden das später im Detail besprechen.
Zugriff auf die Crontab
Die Crontab-Datei ist der Ort, an dem Sie Ihre Cron-Jobs definieren. Öffnen Sie die Crontab-Datei zur Bearbeitung in Ihrem Terminal, indem Sie den folgenden Befehl eingeben:
crontab -e
Wenn es das erste Mal ist, dass Sie dies tun, werden Sie möglicherweise aufgefordert, einen Texteditor auszuwählen (wie vi/vim oder nano). Wählen Sie Ihre bevorzugte Option. Wenn Sie unsicher sind, wählen Sie nano.
Hinzufügen eines Cron-Jobs In der geöffneten Datei stellt jede Zeile einen separaten Cron-Job dar. Fügen wir ein einfaches Beispiel hinzu, um den Text 'Hello World !' auszugeben.
* * * * * echo "Hello World !" >> ~/cron_log.txt
Dies fügt jede Minute die Nachricht "Hello World !" zu einer Datei namens cron_log.txt in unserem Home-Verzeichnis hinzu.
Speichern und Beenden
Lassen Sie uns die Datei speichern und den Editor verlassen. Wenn Sie nano als Ihren Editor ausgewählt haben:
- Drücken Sie
Ctrl + X
- Drücken Sie
Y
zur Bestätigung - Drücken Sie
Enter
zum Speichern
Für Vi/Vim
:
- Drücken Sie
ESC
- Geben Sie
:wq
ein und drücken SieEnter
Herzlichen Glückwunsch! Sie haben gerade Ihren ersten Cron-Job eingerichtet.
Cron-Jobs überprüfen Um die eingerichteten Cron-Jobs zu überprüfen, verwenden Sie den Befehl:
crontab -l
Dies listet alle Cron-Jobs für den aktuellen Benutzer auf. Jetzt, da wir unseren ersten Cron-Job eingerichtet haben, lassen Sie uns die Cron-Syntax im Detail verstehen.
Verständnis der Cron-Syntax
Die Cron-Job-Syntax besteht aus fünf Zeitfeldern, gefolgt von dem Befehl, den wir ausführen möchten. So sieht es aus:
* * * * * /path/to/command
Jedes dieser *-Symbole repräsentiert eine bestimmte Zeiteinheit.
Früher haben wir anstelle des Pfads zu einer Befehlsdatei den Befehl echo "Hello World !"
direkt angegeben.
Feld | Wert | Beschreibung |
---|---|---|
Minute | * | Jede Minute (0-59) |
Stunde | * | Jede Stunde (0-23) |
Tag des Monats | * | Jeder Tag des Monats (1-31) |
Monat | * | Jeder Monat (1-12) |
Wochentag | * | Jeder Wochentag (0-7, wobei sowohl 0 als auch 7 Sonntag darstellen) |
Unser früherer Befehl * * * * * echo "Hello World !" >> ~/cron_log.txt wird also jede Minute jeder Stunde jedes Tages im Monat ausgeführt, d.h. er wird jede Minute ausgeführt.
Hier sind einige andere Beispiele mit verschiedenen Zeitplänen:
Zeitpunkt | Befehl | Beschreibung |
---|---|---|
0 12 * * * | /path/to/command | Führt den Befehl jeden Tag um 12:00 Uhr (Mittag) aus. |
30 8 * * 1 | /path/to/command | Führt den Befehl jeden Montag um 8:30 Uhr aus. |
0 0 1 * * | /path/to/command | Führt den Befehl am ersten Tag jedes Monats um Mitternacht aus. |
0 0 1 1 * | /path/to/command | Führt den Befehl am 1. Januar um Mitternacht aus. |
*/5 * * * * | /path/to/command | Führt den Befehl alle 5 Minuten aus. |
Erweiterte Cron-Techniken
Während wir die Grundlagen behandelt haben, bietet Cron erweiterte Funktionen:
- Bereiche: Verwenden Sie Bindestriche, um Bereiche anzugeben. Zum Beispiel bedeutet
1-5
im Wochentag-Feld Montag bis Freitag. - Listen: Verwenden Sie Kommata, um Listen anzugeben. Zum Beispiel bedeutet
1,3,5
im Wochentag-Feld Montag, Mittwoch und Freitag. - Schrittwerte: Verwenden Sie
*/n
, um Schritte anzugeben. Zum Beispiel bedeutet */10 im Minutenfeld alle 10 Minuten.
Im nächsten Beitrag der Serie werden wir die Einrichtung eines Cron-Jobs mit einer Anaconda-Umgebung durchgehen.
Testen Sie Ihr Wissen
Was macht der Cron-Zeitplan 0 6 * * *
?
Führt den Befehl jeden Tag um 6:00 Uhr aus
Wie würden Sie einen Cron-Job planen, der jeden Freitag um 15:15 Uhr ausgeführt wird?
15 15 * * 5
Führt den Befehl jeden Freitag um 15:15 Uhr aus