Cron ist ein zeitbasierter Jobplanungs-Daemon in Linux-basierten Betriebssystemen. Es wird verwendet, um bestimmte Aufgaben so zu planen, dass sie regelmäßig zu festen Zeiten, Daten oder Intervallen ausgeführt werden. Es ist dem Windows-Dienstprogramm zur Aufgabenplanung sehr ähnlich und sehr nützlich für Routineaufgaben, einschließlich:
- Tägliche Backups
- Scannen des Systems
- Automatisierte Systemwartung
Der Cron-Daemon läuft im Hintergrund und überprüft kontinuierlich die Datei /etc/crontab und die Verzeichnisse /etc/cron.*/.
Crontab-Syntax
Die grundlegende Syntax der crontab-Datei ist unten dargestellt:
M H DOM MON DOW USER COMMAND * * * * * root command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
- Minuten (M) angegeben als Zahl von 0 bis 59.
- Stunden (H) angegeben als Zahlen von 0 bis 23.
- Tage des Monats (DOM) angegeben als Zahlen von 1 bis 31.
- Monate (MON) angegeben als Zahlen von 1 bis 12.
- Wochentage (DOW) angegeben als Zahlen von 0 bis 7, wobei der Sonntag entweder als 0 oder als 7 dargestellt wird.
Crontab-Befehle
Einige häufig verwendete crontab-Befehle sind unten aufgeführt:
- crontab -e :Wird verwendet, um eine neue Crontab-Datei zu bearbeiten oder zu erstellen.
- crontab -l :Wird verwendet, um den Inhalt der Crontab-Datei anzuzeigen.
- crontab -i :Wird verwendet, um die aktuelle crontab-Datei mit einer Aufforderung vor dem Entfernen zu entfernen.
- crontab -r :Wird verwendet, um die aktuelle Crontab-Datei ohne Aufforderung zu entfernen.
- crontab -u :Wird verwendet, um die Crontab-Datei eines anderen Benutzers zu bearbeiten.
1. Planen Sie einen Cron, der um 10:00 Uhr ausgeführt wird. Tägliche Aufgabe
Wenn Sie möchten, dass ein Skript mit dem Namen /opt/test.sh jeden Tag um 10:00 Uhr ausgeführt wird, führen Sie den folgenden Befehl aus:
crontab -e
Fügen Sie die folgende Zeile hinzu:
0 10 * * * /bin/sh /opt/test.sh
2. Planen Sie einen Cron, der alle 5 Minuten ausgeführt wird
Führen Sie den folgenden Befehl aus, um alle 5 Minuten ein test.sh-Skript auszuführen, die Standardausgabe nach /dev/null umzuleiten und Fehler an eine angegebene E-Mail-Adresse zu senden:
crontab -e
Fügen Sie die folgende Zeile hinzu:
[email protected] */5 * * * * /bin/sh /opt/test.sh > /dev/null
3. Planen Sie einen Cron, der täglich, stündlich und zur vollen Stunde von 10:00 bis 18:00 Uhr ausgeführt wird
Führen Sie den folgenden Befehl aus, um ein test.sh-Skript jeden Tag zu jeder vollen Stunde von 10:00 bis 18:00 Uhr auszuführen:
crontab -e
Fügen Sie die folgende Zeile hinzu:
00 10-18 * * * /bin/sh /opt/test.sh
4. Planen Sie einen Cron, der am Ersten jedes Monats um 10:00 Uhr ausgeführt wird
Führen Sie den folgenden Befehl aus, um ein test.sh-Skript am Ersten jedes Monats um 10:00 Uhr auszuführen:
crontab -e
Fügen Sie die folgende Zeile hinzu:
00 10 1 * * /bin/sh /opt/test.sh
5. Planen Sie einen Cron, der jeden Tag 10 Minuten nach Mitternacht und danach alle drei Stunden ausgeführt wird
Um ein test.sh-Skript jeden Tag 10 Minuten nach Mitternacht und danach alle 3 Stunden auszuführen, führen Sie den folgenden Befehl aus:
crontab -e
Fügen Sie die folgende Zeile hinzu:
10 0-23/3 * * * /bin/sh /opt/test.sh
6. Planen Sie einen Cron, der an bestimmten Tagen ausgeführt wird
Führen Sie den folgenden Befehl aus, um jeden Montag und Freitag um 18:00 Uhr ein test.sh-Skript auszuführen:
crontab -e
Fügen Sie die folgende Zeile hinzu:
0 18 * * mon,fri /bin/sh /opt/test.sh
7. Planen Sie einen Cron, um mehrere Skripte auszuführen
Führen Sie den folgenden Befehl aus, um ein test.sh- und test1.sh-Skript in einem 2-Stunden-Intervall auszuführen:
crontab -e
Fügen Sie die folgende Zeile hinzu:
0 */2 * * * /bin/sh /opt/test.sh; /bin/sh /opt/test1.sh
8. Planen Sie einen Cron, der jede Woche, jeden Monat oder jedes Jahr ausgeführt wird
Um jede Woche eine test.sh auszuführen, fügen Sie die folgende Zeile hinzu:
@weekly /bin/sh /opt/test.sh
Um jeden Monat eine test.sh auszuführen, fügen Sie die folgende Zeile hinzu:
@monthly /bin/sh /opt/test.sh
Um jedes Jahr eine test.sh auszuführen, fügen Sie die folgende Zeile hinzu:
@yearly /bin/sh /opt/test.sh
Schlussfolgerung
In der obigen Anleitung haben Sie anhand mehrerer Beispiele gelernt, was Cron ist und wie es verwendet wird. Beginnen Sie noch heute mit der Verwendung von Cron-Jobs zur Automatisierung täglicher Aufgaben mit VPS-Hosting von Atlantic.Net!