Crontab unter Linux: BEISPIELE zur Jobplanung
Was ist Crontab?
Cron ist nach dem griechischen Wort „Chronos“ benannt, das für Zeit verwendet wird. Es handelt sich um einen Systemprozess, der Aufgaben automatisch gemäß dem spezifischen Zeitplan ausführt. Dabei handelt es sich um eine Reihe von Befehlen, die zum Ausführen regelmäßiger Planungsaufgaben verwendet werden. Crontab steht für „Cron Table“. Es ermöglicht die Verwendung eines 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 angibt, dass Shell-Befehle regelmäßig für den spezifischen Zeitplan ausgeführt werden sollen.
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 durchzuführen.
- Löschen Sie alte Protokolldateien
- ArchiDatenbanktabellen löschen und löschen
- Versenden Sie Benachrichtigungs-E-Mails wie Newsletter, E-Mails zum Ablauf des Passworts
- Regelmäßige Bereinigung der zwischengespeicherten Daten
- Crontab ist eine ideale Option zur Automatisierung von Unix-Jobs.
- Es dient der Automatisierung der Systemwartung
Wie verwende ich Cron unter Linux?
Linux-System pack verfügt über einen nützlichen Aufgabenplaner namens crontab. Crontab ist beliebt, weil es so geplant werden kann, dass es einen automatisierten Prozess als Root ausführt. Daher erleichtert die Ausführung eines automatisierten Prozesses als Root Systemänderungen. Sie müssen lediglich 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 Zeit und Datum der Ausführung, und das sechste 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]
- Astriken (*): Zum Abgleichen verwenden
- Bereich definieren: Ermöglicht es Ihnen, einen Bereich mit Hilfe von Bindestrichen wie 1-10 oder 30-40 oder jan-mar, mon-we zu definieren.
- Definieren Sie mehrere Bereiche: Ermöglicht es Ihnen, verschiedene Bereiche mit getrennten Befehlen wie Apr-Juni, Okt-Dez zu definieren.
So fügen Sie Crontab hinzu/ändern es
Benutzer können ihre Crontab-Jobs mithilfe des folgenden Crontab-Befehls bearbeiten:
$ crontab -u -e
Der obige Befehl öffnet die persönliche Crontab-Konfiguration Ihres Computersystems, die mit Ihrem Standard-Texteditor bearbeitet werden kann.
Es ist nicht erforderlich, Ihre Crontab neu zu starten, da Ihre Änderungen bei Verwendung des folgenden Befehls automatisch übernommen werden.
$ crontab -l
Verwenden Sie den folgenden Befehl, um Ihre Crontab-Aufgaben zu entfernen.
$ crontab -r
Um einen Job in Crontab hinzuzufügen oder zu aktualisieren, verwenden Sie den unten angegebenen Befehl.
crontab -e
Befehl zum Bearbeiten der Crontab eines anderen Benutzers
crontab -u username -e
So listen Sie Crontab auf
Befehl zum Anzeigen von Crontab-Einträgen 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, um die verschiedenen Planungsaufgaben auszuführen. Der unten angegebene Befehl wird täglich um 7:5 und XNUMX:XNUMX Uhr ausgeführt. |
0 7,17 * * * /scripts/script.sh |
Befehl zum Ausführen eines Crons alle 5 Minuten. |
*/5* * * * * /scripts/script.sh |
Der Cron-Scheduler-Befehl hilft Ihnen, die Aufgabe jedes Mal auszuführen Monday um 5 Uhr morgens. 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 3-Minuten-Intervall aus. |
*/3 * * * * /scripts/monitor.sh |
Befehl zum Planen eines Crons, 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 jeweils ausgeführt Monday und Mittwoch um 5 Uhr. |
0 17 * * mon,wed /script/script.sh |
Mit diesem Befehl kann cron am ersten Samstag jedes Monats ausgeführt werden. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Befehl zum Ausführen eines Skripts im 6-Stunden-Intervall, sodass es wie unten konfiguriert werden kann. |
0 */6 * * * /scripts/script.sh |
Dieser Befehl plant eine Aufgabe, die zweimal ausgeführt wird Monday und Dienstag. Verwenden Sie dazu die folgenden Einstellungen. |
0 4,17 * * mon,tue /scripts/script.sh |
Der Befehl plant, alle 15 Sekunden einen Cron auszuführen. |
* * * * * /scripts/script.sh * * * * * sleep 15; /scripts/script.sh |
Befehl zur jährlichen Planung von Aufgaben. @yearly timestamp is= to „0 0 5 1 *“. Dieser führt die Aufgabe jedes Jahr in der fünften Minute aus. Sie können damit Neujahrsgrüße verschicken. |
@yearly /scripts/script.sh |
Befehlsaufgaben zur monatlichen Ausführung. @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 @weekly-Zeitstempel ähnelt „0 0 4 * Sonne“. Dies wird verwendet, um wöchentliche Aufgaben wie die Systembereinigung usw. durchzuführen. |
@weekly /bin/script.sh |
Die Aufgabe wird so geplant, dass sie täglich ausgeführt wird. Der @daily-Zeitstempel ähnelt „0 2 * * *“. Es führt die Aufgabe jeden Tag in der zweiten Minute aus. |
@daily /scripts/script.sh |
Ermöglicht die stündliche Ausführung von Aufgaben. Der @hourly-Zeitstempel ähnelt „0 * * * *“. Dieser Befehl führt in der ersten Minute jeder Stunde eine Aufgabe aus. |
@hourly /scripts/script.sh |
Ermöglicht die Ausführung von Aufgaben beim Systemneustart. Der @reboot-Ausdruck ist nützlich für die Aufgaben, die das System beim Systemstart ausführen möchte. Dies ist hilfreich, um Aufgaben automatisch im Hintergrund zu starten. |
@reboot /scripts/script.sh |
Zusammenfassung:
- Cron ist nach dem griechischen Wort „Chronos“ benannt, das für 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 Aufgabenplaner namens crontab, der so geplant werden kann, dass er einen automatisierten Prozess als Root ausführt.
- Crontab von Linux hat sechs Felder. Die ersten fünf Felder definieren Zeit und Datum der Ausführung, und das sechste Feld wird für die Befehlsausführung verwendet.