Der Linux-Crontab-Befehl wird zum Planen von Cron-Jobs verwendet. Ein Cron-Job ist ein praktisches Automatisierungstool, mit dem Linux-Benutzer automatisierte Aufgaben in bestimmten Zeiträumen oder Intervallen ausführen können.
Dies ist eine benutzerfreundliche Art, Aufgaben zu planen, die andernfalls mühsam wären, wenn sie manuell verwaltet würden. Cron-Jobs werden normalerweise von Systemadministratoren verwendet, um Aufgaben wie Server-Backups, Neustarts, das Senden von Benachrichtigungen und Bereinigungen zu automatisieren, um nur einige zu nennen.
Ein Cron-Job läuft still im Hintergrund und überprüft die /etc/crontab
Datei und /var/spool/cron
und /etc/cron.*/
Verzeichnisse. In diesem Artikel erfahren Sie, wie Sie Cron-Jobs in Ihrem Linux-System erstellen und verwalten.
Linux-Cron-Job-Struktur
Die Anatomie eines Cron-Jobs ist unten dargestellt.
* * * * * COMMAND arg1 arg2
ODER
* * * * * /path/to/script arg1 arg2
Von links,
The 1st entry represents Minutes [0 - 59]
The 2nd entry represents Hours [0 - 24]
The 3rd entry represents Days [0 - 31]
The 4th entry represents Months [0 - 12]
The 5th entry represents Days of the week [0 - 7]
Crontab-Beispiel für Linux
Jetzt, wo Sie das Gerüst für eine Crontab haben, ist es ziemlich einfach, eine zu schreiben, vorausgesetzt, Sie kennen den Befehl oder den Pfad zu Ihrem Skript.
In diesem Beispiel erstellen wir eine Crontab zum Neustarten eines Linux-Systems.
vim reboot.sh
Kopieren Sie den folgenden Inhalt und fügen Sie ihn in die Bash-Datei ein.
#!/bin/bash
0 3 * * * /sbin/reboot
Gemäß der crontab-Syntax, wie zuvor angegeben, wird der Cron-Job täglich um 3:00 Uhr morgens ausgeführt und das System neu gestartet.
Speichern und beenden Sie den Texteditor.
Weisen Sie als Nächstes die Ausführungsberechtigungen wie gezeigt zu.
# chmod +x reboot.sh
Um die Dateiberechtigungen zu überprüfen, führen Sie Folgendes aus:
# ls -l reboot.sh
Um den Crontab-Lauf zu initialisieren
# crontab reboot.sh
Wenn Sie den Inhalt einer Crontab eines Benutzers anzeigen möchten, der derzeit angemeldet ist, führen Sie den Befehl aus.
crontab -l
Wenn die Crontab läuft und ausgeführt wird, wird die Crontab zur festgelegten Zeit ausgeführt, d. h. um 3:00 Uhr Ortszeit.
Um alle Cron-Jobs im System zu entfernen, verwenden Sie -r
Option.
crontab -r
Zusätzliche Beispiele für das Ausführen von Cron-Jobs in bestimmten Zeitintervallen
- Um jede Minute einen Cron-Job auszuführen , führen Sie
* * * * * COMMAND
Wenn die aktuelle Uhrzeit 6:00 Uhr ist, wird der Cronjob um 6:01 Uhr, 6:02 Uhr usw. ausgeführt.
- Zum Ausführen eines Cron-Jobs nach jeder n-ten Minute , führen Sie beispielsweise alle 10 Minuten
*/10 * * * * COMMAND
- Um jede n-te Minute jeder Stunde einen Cron-Job auszuführen , zum Beispiel alle 30 Minuten jeder Stunde,
30 * * * * COMMAND
- Um jede Stunde einen Cron-Job auszuführen , d.h. alle 0 Minuten, führe
0 * * * * COMMAND
- Um alle n Stunden einen Cron-Job auszuführen , führen Sie beispielsweise alle 6 Stunden
0 */6 * * * COMMAND
- Um einen Cron-Job an einem bestimmten Tag auszuführen , sagen wir Freitag, führe
0 0 * * FRI COMMAND
- Wenn Sie einen Cronjob von Montag bis Freitag ausführen möchten run
0 0 * * 1-5 COMMAND
Dadurch wird der Befehl von Montag bis Freitag täglich um 00:00 Uhr ausgeführt.
- Um einen Cron-Job jeden Tag auszuführen , führen Sie
0 0 * * * COMMAND
- Um jeden ersten Tag jedes Monats einen Cron-Job auszuführen
0 0 1 * * COMMAND
- Zum Ausführen eines Cron-Jobs an jedem ersten Tag des Monats zu einer bestimmten Uhrzeit , sagen wir 20:30 Uhr, führen Sie
30 20 1 * * COMMAND
- Um jedes Quartal des Jahres einen Job auszuführen d.h. am 1. Tag nach jeweils 3 Monaten, führen Sie
0 0 1 */3 * COMMAND
- Um jedes Jahr einen Cron-Job auszuführen , führen Sie
0 0 1 1 * COMMAND
Dieser Cron-Job wird jeden Freitag genau um 00:00 Uhr ausgeführt.
Cronjobs mit Crontab Guru planen
Crontab-Syntaxen können ziemlich verwirrend und schwer zu beherrschen sein. Aber keine Sorge. Crontab Guru ist ein sehr benutzerfreundliches Online-Tool, mit dem Sie Ihre Zeitintervalle ohne großen Aufwand nahtlos definieren können. Es ist eine Webschnittstelle, die die Zeitintervalle von Crontab gut gekennzeichnet hat, und Sie müssen lediglich die Zahlen in das Textfeld eingeben, während das Tool die Crontab interpretiert. Im folgenden Beispiel generiert das Tool die Crontab zur Automatisierung eines Cron-Jobs von Montag bis Samstag jeweils um 6:00 Uhr.