Was ist Crontab?
Cron ist nach dem griechischen Wort "Chronos" benannt, das für die Zeit verwendet wird. Es ist ein Systemprozess, der automatisch Aufgaben gemäß dem spezifischen Zeitplan ausführt. Es handelt sich um eine Reihe von Befehlen, die zum Ausführen regulärer Planungsaufgaben verwendet werden. Crontab steht für "Cron Table". Es ermöglicht die Verwendung des Job Schedulers, der als Cron bezeichnet wird, um Aufgaben auszuführen.
Crontab ist auch der Name des Programms, mit dem dieser Zeitplan bearbeitet wird. Es wird von einer Crontab-Datei gesteuert, einer Konfigurationsdatei, die Shell-Befehle angibt, die regelmäßig für den jeweiligen Zeitplan ausgeführt werden sollen.
In diesem Tutorial zum Betriebssystem lernen Sie:
- Was ist Crontab?
- Warum CRONJOB verwenden?
- Wie verwende ich cron unter Linux?
- Linux Crontab-Format
- Hinzufügen / Ändern von Crontab
- So listen Sie Crontab auf
- Wichtige Crontab-Beispiele
Warum Cronjobs verwenden?
Hier sind die Gründe für die Verwendung von Cronjobs unter Linux:
- Hilft dem Betriebssystem, eine geplante Sicherung von Protokolldateien oder Datenbanken zu erstellen.
- Löschen Sie alte Protokolldateien
- Archivieren und Löschen von Datenbanktabellen
- Senden Sie Benachrichtigungs-E-Mails wie Newsletter und Kennwortablauf-E-Mails
- Regelmäßige Bereinigung der zwischengespeicherten Daten
- Crontab ist eine ideale Option zur Automatisierung von Unix-Jobs.
- Es wird verwendet, um die Systemwartung zu automatisieren
Wie verwende ich cron unter Linux?
Das Linux-Systempaket verfügt über einen nützlichen Taskplaner namens crontab. Crontab ist beliebt, da geplant werden kann, einen automatisierten Prozess als Root auszuführen. Ein automatisierter Prozess, der als Root ausgeführt wird, erleichtert daher Systemänderungen. Sie müssen nur die Aufgabe ändern und dann warten, bis die Aufgabe erneut gestartet wird.
Linux Crontab-Format
Crontab von Linux hat sechs Felder. Die ersten fünf Felder definieren die Uhrzeit und das Datum der Ausführung, und das 6. Feld wird für die Befehlsausführung verwendet.
Crontab-Syntax:
[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]
- Astrics (*): Zum Matching verwenden
- Bereich definieren: Ermöglicht das Definieren eines Bereichs mithilfe eines Bindestrichs wie 1-10 oder 30-40 oder jan-mar, mon-wed.
- Mehrere Bereiche definieren: Ermöglicht das Definieren verschiedener Bereiche mit getrennten Befehlen wie apr-jun, oct-dec.
Hinzufügen / Ändern von Crontab
Der Benutzer kann seine crontab-Jobs mit Hilfe des folgenden crontab-Befehls bearbeiten:
$ crontab -u -e
Mit dem obigen Befehl wird die persönliche Crontab-Konfiguration Ihres Computersystems geöffnet, die mit Ihrem Standardtexteditor bearbeitet werden kann.
Sie müssen Ihr crontab nicht neu starten, da es Ihre Änderungen automatisch aufnimmt, wenn Sie den folgenden Befehl verwenden.
$ crontab -l
Verwenden Sie den folgenden Befehl, um Ihre Crontab-Aufgaben zu entfernen.
$ crontab -r
Verwenden Sie den folgenden Befehl, um einen Job in crontab hinzuzufügen oder zu aktualisieren.
crontab -e
Befehl zum Bearbeiten der Crontab eines anderen Benutzers
crontab -u username -e
So listen Sie Crontab auf
Befehl zum Anzeigen der Crontab-Einträge des aktuellen Benutzers
crontab -l
Befehl zum Anzeigen von Crontab-Einträgen eines bestimmten Benutzers:
crontab -u username -l
Wichtige Crontab-Beispiele
Hier sind einige wichtige Beispiele für Crontab
Beschreibung | Befehl |
Cron-Befehl zum Ausführen der verschiedenen Planungsjobs. Der unten angegebene Befehl wird täglich um 7 Uhr und 17 Uhr ausgeführt. |
0 7,17 * * * /scripts/script.sh |
Befehl, alle 5 Minuten einen Cron auszuführen. |
*/5* * * * * /scripts/script.sh |
Mit dem Befehl Cron Scheduler können Sie die Aufgabe jeden Montag um 5 Uhr morgens ausführen. Dieser Befehl ist hilfreich für wöchentliche Aufgaben wie die Systembereinigung. |
0 5 * * mon /scripts/script.sh |
Befehl Führen Sie Ihr Skript im Abstand von 3 Minuten aus. |
*/3 * * * * /scripts/monitor.sh |
Befehl zum Planen eines Cron, der für einen bestimmten Monat ausgeführt wird. Dieser Befehl zum Ausführen von Aufgaben wird in den Monaten Februar, Juni und September ausgeführt. Manchmal müssen wir eine Aufgabe planen, um eine ausgewählte monatliche Aufgabe auszuführen. |
* * * feb,jun,sep * /script/script.sh |
Befehl zur Ausführung an ausgewählten Tagen. Dieses Beispiel wird jeden Montag und Mittwoch um 17 Uhr ausgeführt. |
0 17 * * mon,wed /script/script.sh |
Mit diesem Befehl kann cron jeden ersten Samstag im Monat ausgeführt werden. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Befehl zum Ausführen eines Skripts für ein Intervall von 6 Stunden, damit es wie folgt konfiguriert werden kann. |
0 */6 * * * /scripts/script.sh |
Mit diesem Befehl wird eine Aufgabe so geplant, dass sie am Montag und Dienstag zweimal ausgeführt wird. Verwenden Sie dazu die folgenden Einstellungen. |
0 4,17 * * mon,tue /scripts/script.sh |
Der Befehl plant, dass alle 15 Sekunden ein Cron ausgeführt wird. |
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh |
Befehl zum jährlichen Planen von Aufgaben. @Jahr ist der Zeitstempel = "0 0 5 1 *". Dies führt die Aufgabe in der fünften Minute eines jeden Jahres aus. Sie können es verwenden, um Neujahrsgrüße zu senden. |
@yearly /scripts/script.sh |
Befehlsaufgaben, die monatlich ausgeführt werden sollen. @monthly timestamp ähnelt "0 0 1 * *". Dieser Befehlsausdruck ermöglicht die Ausführung einer Aufgabe in der ersten Minute des Monats. |
@monthly /scripts/script.sh |
Befehl zum Ausführen mehrerer Aufgaben mit einem einzigen Cron. |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
Befehl zum Planen von Aufgaben, die wöchentlich ausgeführt werden sollen. Der wöchentliche Zeitstempel ähnelt "0 0 4 * Sonne". Dies wird verwendet, um die wöchentlichen Aufgaben wie die Systembereinigung usw. auszuführen. |
@weekly /bin/script.sh |
Die Aufgabe wird täglich ausgeführt. @daily timestamp ähnelt "0 2 * * *". Es führt die Aufgabe in der zweiten Minute eines jeden Tages aus. |
@daily /scripts/script.sh |
Ermöglicht die stündliche Ausführung von Aufgaben. @hourly timestamp ähnelt "0 * * * *". Dieser Befehl führt eine Aufgabe in der ersten Minute jeder Stunde aus. |
@hourly /scripts/script.sh |
Ermöglicht die Ausführung von Aufgaben beim Neustart des Systems. Der Ausdruck @reboot ist nützlich für die Aufgaben, die das System beim Systemstart ausführen möchte. Dies ist hilfreich, um den Hintergrund der Aufgaben automatisch zu starten. |
@reboot /scripts/script.sh |
Zusammenfassung:
- Cron ist nach dem griechischen Wort "Chronos" benannt, das für die Zeit verwendet wird.
- Cronjobs helfen dem Betriebssystem, eine geplante Sicherung von Protokolldateien oder Datenbanken zu erstellen.
- Das Linux-Systempaket verfügt über einen nützlichen Taskplaner namens crontab, der so geplant werden kann, dass ein automatisierter Prozess als Root ausgeführt wird.
- Crontab von Linux hat sechs Felder. Die ersten fünf Felder definieren die Uhrzeit und das Datum der Ausführung, und das 6. Feld wird für die Befehlsausführung verwendet.