Linux Crontab mit Beispielen für Cron-Jobs

Crontab-Datei speichert die Cron-Jobs in Linux. Cron-Jobs (cron) werden periodisch zu festen Zeiten, Terminen und Intervallen ausgeführt. Das Äquivalent in Windows ist die geplante Aufgabe. Alle sich wiederholenden Aufgaben können mit Cron geplant werden.

Crontab-Datei ist die Konfigurationsdatei, die Informationen über die Zeit und die auszuführenden Befehle/Skripte enthält.

In diesem Tutorial lernen wir Linux-crontab mit Beispiele zu Jobs planen.

Crontab-Syntax

Jede Zeile in der crontab-Datei repräsentiert einen Job. Es beinhaltet fünf Felder gefolgt von einem Shell-Befehl oder -Skript ausführen.

Syntax:

* (Minute) *(Hour) * (Day of the Month) *(Month of the Year) *(Day of the Week) username <path to command/script to execute>

*MinuteDieser Feldwert liegt zwischen 0 – 59
*StundeDieser Feldwert liegt zwischen 0 – 23
*Tag des MonatsDieser Feldwert liegt zwischen 1 – 31
*Monat des JahresDieser Feldwert liegt zwischen 1 – 12. Die ersten 3 Buchstaben des Monats werden auch akzeptiert wie Jan, Feb, März
*WochentagDieser Feldwert liegt zwischen 0 und 7. Wobei 0 und 7 der Sonntag ist. 1 ist Montag, 2 ist Dienstag, wie weise

Crontab-Felder

crontab-Datei – repräsentiert einen Job

Definieren Sie mehrere Werte oder Bereiche

Um mehrere Werte und Bereiche zu definieren, verwenden Sie Komma (,) und Bindestrich (-). Das Sternchen examplepasst zu allem. Für

, um mehrere Werte anzuzeigen, verwenden Sie 1,2,3 oder mon,tue,wed und für Bereiche 1-3 oder mon-wed.

So verwenden Sie crotab crontab

Befehl wird zum Öffnen und Bearbeiten/Hinzufügen von Cron-Jobs verwendet. Der cron-Daemon, der unter Linux ausgeführt wird, führt geplante Jobs zu dem Zeitpunkt aus, der in der crontab ( cron-Tabelle) definiert ist. Die wichtigste systemweite crontab-Datei ist /etc/crontab. Cron ist von Ursprünglich

in den meisten Linux-Distributionen installiert. Jeder Benutzer im Linux-System kann seine eigenen Cron-Jobs verwalten. Jeder Benutzercron wird unter /var/spool/cron/crontabs/ gespeichert. Der Cron-Daemon führt sowohl Benutzer- als auch System-Crontab aus.

Der Cron-Daemon hat einen Standard-$PATH definiert, den Sie in /etc/crontab finden. Wenn es nicht definiert ist, verwenden Sie entweder den absoluten Pfad oder fügen Sie der cron-Variablen $PATH hinzu. MAILTO Cron-Mail-Benachrichtigungen werden standardmäßig an den Besitzer der Crontab gesendet. Um dies zu ändern, bearbeiten Sie

Umgebungsvariable. Cron-Protokolle sind gespeichert in /var/log/syslog auf Ubuntu/Debian-Systemen und in /var/log/cron

auf Redhat/Rocky-Linux. Sie können die Protokolldatei mit dem Befehl grep filtern, um zu überprüfen, ob der Cron-Job erfolgreich ausgeführt wurde oder nicht.

1. Crontab bearbeiten/hinzufügen

$ crontab -e

Um (bestehende Jobs) zu bearbeiten oder einen neuen Cron hinzuzufügen, verwenden Sie den Befehl crontab -e. Dies öffnet einen Editor für den aktuellen Benutzer.

$ crotab -u username -e

Um eine andere Benutzer-crontab-Datei zu bearbeiten, geben Sie Folgendes ein:

Oder führen Sie einfach den Befehl crontab -e aus, indem Sie sich als dieser Benutzer anmelden.

2. Cron-Jobs auflisten

$ crontab -l

Geben Sie Folgendes ein, um alle Jobs des aktuellen Benutzers aufzulisten:

$ crontab -u -l

Geben Sie Folgendes ein, um alle Cron-Jobs für einen bestimmten Benutzer aufzulisten:

3. Cronjobs entfernen

# crontab -r

Um alle Cronjobs des aktuellen Benutzers zu entfernen, führen Sie den folgenden Befehl aus:

Hinweis: Dadurch werden alle Cron-Jobs entfernt, ohne nach einer Bestätigung zu fragen.

# crontab -ir

Wenn Sie interaktiv löschen möchten, müssen Sie den folgenden Befehl verwenden:

Beispiele für Crontab-Jobs

Sehen wir uns einige Crontab-Beispiele zum Planen von Cron-Jobs an.

1. Cronjobs alle 12 Stunden ausführen

0 */12 * * * /scripts/test.sh

Dies hilft bei regelmäßigen Systemchecks oder Backups. Geben Sie Folgendes ein, um zu planen, dass eine Aufgabe alle 12 Stunden ausgeführt wird:

2. Cron-Job alle 5 Minuten ausführen

*/5 * * * * /scripts/test.sh

Manchmal müssen Sie Ihr System alle n Minuten überwachen. Verwenden Sie den folgenden Ausdruck, um die Aufgabe alle 5 Minuten auszuführen.

3. Cronjob jeden Tag um 2 Uhr morgens ausführen

0 2 * * * /script/test.sh

Die tägliche Sicherung kann für eine bestimmte Zeit geplant werden. Der folgende Ausdruck führt den Cron-Job jeden Tag um 2 Uhr morgens aus.

0 14 * * * /script/test.sh

Um einen Cron-Job jeden Tag um 14:00 Uhr zu planen, verwenden Sie Cron die 24-Stunden-Uhr.

30 12 * * * /script/test.sh

4. Cronjob jeden Tag um 12:30 Uhr ausführen

5. Cron-Job jede Minute ausführen exampleFür

* * * * * /scripts/test.sh

, Sie ein Skript haben, das jede Minute ausgeführt werden muss, verwenden Sie den folgenden Ausdruck.

6. Cron-Job zu bestimmten Minuten ausführen

2,15,30 * * * * /scripts/test.sh

Verwenden Sie den folgenden Cron-Ausdruck, um das Skript in den Minuten 2, 15 und 30 auszuführen.

7. Führen Sie den Cron-Job aus, der jeden Samstag um 1 Uhr morgens ausgeführt wird

0 1 * * sat /scripts/test.sh

Dies hilft Ihnen, das Backup am Samstag zu einer bestimmten Zeit auszuführen. Der folgende Ausdruck hilft, jeden Samstag um 1 Uhr morgens einen Cronjob zu machen.

8. Führen Sie einen Cron-Job aus, um ihn in bestimmten Monaten auszuführen

0 1 1 jan,apr,jun * /script/test.sh

Zum Ausführen von Cron-Jobs um 01:00 Uhr am 1. Tag des Monats im Januar, April und Juni.

9. Cron-Job an ausgewählten Tagen ausführen

0 4 * * sat,sun /script/test.sh

Um Cron-Jobs an ausgewählten Tagen wie Samstag und Sonntag auszuführen, verwenden Sie:

10. Cronjobs zu bestimmten Tageszeiten ausführen

0 9-17 * * * /script/test.sh

Zur Minute 0 nach jeder Stunde von 9 bis 17

11. Cron-Job zweimal an jedem Samstag und Sonntag ausführen

0 2,23 * * sat,sun /scripts/test.sh

Cron-Jobs ermöglichen das Ausführen von Aufgaben zu bestimmten Zeiten an bestimmten Tagen

12. Cron-Job für einen Zeitraum von Montag bis Freitag ausführen

0 2 * * mon-fri /scripts/test.sh

Um 02:00 Uhr an jedem Wochentag von Montag bis Freitag.

13. Cron-Job monatlich ausführen

@monthly /scripts/test.sh

Anstatt 0 0 1 * * zu verwenden, können Sie die Verknüpfung mit @monthly verwenden. Es läuft um 00:00 Uhr am 1. Tag des Monats. Alternativ können Sie Ihr Skript auch unter /etc/cron.monthly/ platzieren.

14. Cron-Job wöchentlich ausführen

@weekly /scripts/test.sh

Anstatt 0 0 * * mon zu verwenden, können Sie die Verknüpfung mit @weekly verwenden. Es läuft am Montag um 00:00 Uhr. Alternativ können Sie Ihr Skript auch unter /etc/cron.weekly/ platzieren.

15. Cron-Job täglich ausführen

@daily /scripts/test.sh

Anstatt 0 0 * * * zu verwenden, können Sie die Verknüpfung mit @daily verwenden. Es fährt jeden Tag um 00:00 Uhr. Alternativ können Sie Ihr Skript auch unter /etc/cron.daily/ platzieren.

16. Cron-Job stündlich ausführen

@hourly /scripts/test.sh

Anstatt 0 */1 * * * zu verwenden, können Sie die Verknüpfung mit @hourly verwenden. Es läuft um 0 Minuten nach jeder vollen Stunde. Alternativ können Sie Ihr Skript auch unter /etc/cron.hourly/ platzieren.

17. Cron-Job beim Neustart ausführen

@reboot /scripts/test.sh

Um eine Aufgabe bei jedem Systemneustart auszuführen, verwenden Sie @reboot string. Das Skript wird nach dem Neustart ausgeführt.

18. Cron-Job alle 30 Sekunden ausführen

Cron lässt nur eine Laufzeit von mindestens 60 Sekunden zu. Es gibt keine einfache Methode, um einen Job so zu planen, dass er alle 30 Sekunden ausgeführt wird.

Aber wir können einen Workaround verwenden, indem wir die Verzögerung um 30 Sekunden erhöhen.

* * * * /scripts/run.sh * * * * Schlaf 30; /scripts/run.sh

19. Führen Sie einen Cron-Job aus und leiten Sie die Ausgabe um

*/3 * * * * /usr/bin/php /script/run.php >> /var/log/run.log

Dadurch wird das PHP-Skript alle 3 Minuten ausgeführt und die Ausgabe in eine Datei umgeleitet.

20. Führen Sie einen Cron-Job aus, um mehrere Befehle auszuführen

0 */12 * * Sun command1 && command2

Um cron auszuführen, um mehrere Befehle auszuführen, verwenden Sie den Operator && zwischen den Befehlen.

Cronjobs sichern

# crontab -l > /backup/cron/root-bckupUm Cron zu sichern, verwenden Sie den folgenden Befehl

.TXT

# crontab -u userName -l > /backup/cron/user-bckup.txt

Um den Cron eines bestimmten Benutzers zu sichern, geben Sie Folgendes ein:

# crontab /backup/cron/root-backup.txt

Um Cron aus der Sicherungsdatei wiederherzustellen, verwenden Sie einfach:

Fazit

In diesem Tutorial haben wir Crontab unter Linux und Beispiele zum Planen von Cron-Jobs kennengelernt.


Wenn Sie Feedback und Vorschläge haben, kommentieren Sie bitte unten.