In diesem Artikel geht es darum, wie man Cronjobs auf Linux-Systemen wie Ubuntu oder Raspberry Pi OS einfach einrichten kann. Ich weiß, dass es manchmal schwierig sein kann, die Syntax und Logik der CronTab-Einträge zu verstehen, daher werde ich versuchen, es Schritt für Schritt zu erklären.
Grundlagen zu CronTab
CronTab ist ein leistungsstarkes Werkzeug zur Verwaltung von Cronjobs über die Befehlszeile. Es ermöglicht Dir, Aufgaben automatisch zu bestimmten Zeiten oder in regelmäßigen Intervallen ausführen zu lassen. Die Syntax in CronTab besteht aus fünf Feldern, die die Zeit und das Datum festlegen, sowie dem Befehl oder Skript, das ausgeführt werden soll.
Hier sind die fünf Felder, die Du berücksichtigen musst:
- Minute (0-59): Definiert die Minute der Stunde, in der der Cronjob ausgeführt werden soll.
- Stunde (0-23): Definiert die Stunde des Tages, in der der Cronjob ausgeführt werden soll.
- Tag_im_Monat (1-31): Definiert den Tag im Monat, an dem der Cronjob ausgeführt werden soll.
- Monat (1-12): Definiert den Monat, in dem der Cronjob ausgeführt werden soll.
- Wochentag (0-7): Definiert den Wochentag, an dem der Cronjob ausgeführt werden soll.
Diese Felder können einzelne Werte, Wertebereiche oder Listen von Werten enthalten. Wenn Du beispielsweise den Wertebereich 2-5 im Feld „Stunde“ angibst, wird der Cronjob zu den Stunden 2, 3, 4 und 5 ausgeführt.
Darüber hinaus gibt es spezielle Zeichen, die Dir helfen können:
- Das Asterisk (*) steht für alle Werte. Wenn Du also * in einem Feld angibst, bedeutet das, dass der Cronjob zu jeder Zeit oder an jedem Tag/Wochentag ausgeführt wird.
- Die Kombination */n steht für Intervalle von n. Wenn Du beispielsweise */15 in das Feld „Minute“ einträgst, bedeutet das, dass der Cronjob alle 15 Minuten ausgeführt wird.
Beispiele für Cronjob-Einträge
Hier sind einige Beispiele für Cronjob-Einträge, um Dir ein besseres Verständnis zu geben:
Ein Skript täglich um 8:00 Uhr ausführen:
0 8 * * * /pfad/zum/skript.sh
Ein Backup-Skript jeden Montag um 2:30 Uhr ausführen (Der Wochentag „1“ steht für Montag):
30 2 * * 1 /pfad/zum/backup-skript.sh
Ein Skript alle 15 Minuten zwischen 9:00 und 17:00 Uhr ausführen:
*/15 9-17 * * * /pfad/zum/skript.sh
Ein Skript immer am Sonntag um 19:00 Uhr ausführen:
0 19 * * 0 /pfad/zum/skript.sh
Im letzten Beispiel bedeutet die Syntax im Detail:
- Das Feld „Minute“ ist auf 0 gesetzt, was bedeutet, dass der Cronjob zu Beginn der Stunde ausgeführt wird.
- Das Feld „Stunde“ ist auf 19 gesetzt, was bedeutet, dass der Cronjob um 19 Uhr ausgeführt wird.
- Das Feld „Tag_im_Monat“ ist mit einem Asterisk (*) versehen, was bedeutet, dass der Tag im Monat nicht spezifiziert ist.
- Das Feld „Monat“ ist ebenfalls mit einem Asterisk (*) versehen, was bedeutet, dass der Monat nicht spezifiziert ist.
- Das Feld „Wochentag“ ist auf 0 gesetzt, was dem Sonntag entspricht.
Dadurch wird der Cronjob jeden Sonntag um 19 Uhr ausgeführt.
Bitte beachte, dass Du den Pfad zu Deinem eigenen Skript entsprechend anpassen musst.
Verwendung des crontab-Befehls
Um die Cronjobs einzurichten und zu verwalten, verwenden wir den crontab-Befehl. Hier sind einige häufig verwendete Befehle:
- crontab -e: Öffnet den crontab-Editor, um Cronjobs zu bearbeiten oder neue hinzuzufügen.
- crontab -l: Zeigt die vorhandenen Cronjobs an.
- crontab -r: Entfernt alle Cronjobs von Deinem Benutzerkonto.
- crontab -u <benutzer>: Ermöglicht es Dir, die Cronjobs für einen bestimmten Benutzer zu bearbeiten.
Denke daran, den absoluten Pfad zu Deinem Skript oder Befehl anzugeben, um sicherzustellen, dass der Cronjob ordnungsgemäß ausgeführt wird.
Ich hoffe, diese ausführliche Erklärung hilft Dir dabei, Cronjobs mit CronTab einzurichten.