GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie einen Cron-Job unter Linux ein

Einführung

Der Cron-Daemon ist ein integriertes Linux-Dienstprogramm, das Prozesse auf Ihrem System zu einem festgelegten Zeitpunkt ausführt. Cron liest die crontab (Cron-Tabellen) für vordefinierte Befehle und Skripte.

Durch die Verwendung einer bestimmten Syntax können Sie einen Cronjob konfigurieren um Skripte oder andere Befehle so zu planen, dass sie automatisch ausgeführt werden.

Diese Anleitung zeigt Ihnen anhand von Beispielen, wie Sie einen Cron-Job unter Linux einrichten.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird
  • Zugriff auf ein Befehlszeilen-/Terminalfenster (StrgAltT oder StrgAltF2 )
  • Ein Benutzerkonto mit root oder sudo Privilegien

Grundlegende Crontab-Syntax

Cron liest die Konfigurationsdateien für eine Liste der auszuführenden Befehle. Der Daemon verwendet eine bestimmte Syntax, um die Zeilen in der crontab zu interpretieren Konfigurationstabellen.

Um einen Cronjob einrichten zu können, müssen wir die grundlegenden Elemente verstehen, aus denen diese Syntax besteht. Die Standardform für eine crontab-Zeile lautet wie folgt:

a b c d e /directory/command output

Also die Teile eines cron Befehl sind:

1. Die ersten fünf Felder a b c d e Geben Sie Uhrzeit/Datum und Wiederholung des Auftrags an.

2. Im zweiten Abschnitt /directory/command gibt den Ort und das Skript an, das Sie ausführen möchten.

3. Das letzte Segment output es ist optional. Es definiert, wie das System den Benutzer über den Abschluss des Jobs benachrichtigt.

1. Cron-Job-Zeitformat

Die ersten fünf Felder im Befehl stellen Zahlen dar, die definieren, wann und wie oft der Befehl ausgeführt wird. Ein Leerzeichen trennt jede Position, die einen bestimmten Wert darstellt.

Die folgende Tabelle fasst mögliche Werte für die Felder und die Beispielsyntax zusammen:

Feld Mögliche Werte Syntax Beschreibung
[a] – Minute 0 – 59 7 * * * * Der Cron-Job wird jedes Mal gestartet, wenn die Systemuhr 7 in der Minutenposition anzeigt.
[b] – Stunde 0 – 23 0 7 * * * Der Cron-Job wird immer dann ausgeführt, wenn die Systemuhr 7:00 Uhr anzeigt (19:00 Uhr würde als 19 codiert).
[c] – Tag 0 – 31 0 0 7 * * Der Tag des Monats ist 7, was bedeutet, dass der Job jeden 7. Tag des Monats ausgeführt wird.
[d] – Monat 0 =keine und 12 =Dezember 0 0 0 7 * Der numerische Monat ist 7, was bestimmt, dass der Job nur im Juli ausgeführt wird.
[e] – Wochentag 0 =Sonntag und 7 =Sonntag 0 0 * * 7 7 in der jetzigen Position bedeutet, dass der Job nur sonntags laufen würde.

2. Befehl zum Ausführen

Der nächste Abschnitt gibt den auszuführenden Befehl an. Es stellt das genaue Verzeichnis und den Dateinamen des Skripts oder der Befehle dar, die cron ausführen soll. Zum Beispiel:

/root/backup.sh

In unserem Beispiel untersucht der Befehl das Stammverzeichnis des Systems und führt backup.sh aus Skript. Sie können ein beliebiges Skript oder einen beliebigen Befehl angeben.

3. Ausgabe (Optional)

Standardmäßig cron sendet eine E-Mail an den Eigentümer der Crontab-Datei, wenn sie ausgeführt wird. Dies ist eine praktische Möglichkeit, Aufgaben im Auge zu behalten. Denken Sie daran, dass regelmäßige oder kleinere Aufgaben Ihren Posteingang schnell füllen können.

Da dies eine optionale Funktion ist, können Sie dieses Szenario verhindern, indem Sie die Ausgabe-E-Mail deaktivieren. Um die E-Mail-Ausgabe zu deaktivieren, fügen Sie die folgende Zeichenfolge hinzu:>/dev/null 2>&1 , nach den Timing- und Command-Feldern.

* * * * * directory/command >/dev/null 2>&1

4. Verwenden von Operatoren (optional)

Aus Effizienzgründen verwendet die Cron-Syntax auch Operatoren. Operatoren sind Sonderzeichen, die Operationen mit den bereitgestellten Werten im Cron-Feld ausführen.

  • Ein Sternchen (*) steht für alle Werte. Verwenden Sie diesen Operator, um Aufgaben während aller Monate oder an allen Wochentagen auszuführen.
  • Ein Komma (,) gibt separate Einzelwerte an.
  • Ein Bindestrich (–) gibt einen Wertebereich an.
  • Ein Schrägstrich (/) wird verwendet, um einen Wert in Schritte zu unterteilen. (*/2 wäre jeder zweite Wert, */3 wäre jeder dritte, */10 wäre jeder zehnte usw.)

Cronjob einrichten

Um einen Cron-Job zu konfigurieren, öffnen Sie die Crontab mit einem bevorzugten Texteditor und geben Sie die Syntax für den Befehl ein, den Sie ausführen möchten.

Wie bearbeite ich die Crontab-Datei?

Um die crontab-Konfigurationsdatei für den aktuellen Benutzer zu öffnen, geben Sie den folgenden Befehl in Ihr Terminalfenster ein:

crontab –e

Sie können beliebig viele geplante Aufgaben hinzufügen, eine pro Zeile.

Wenn Sie mit dem Hinzufügen von Aufgaben fertig sind, speichern Sie die Datei und Ausfahrt. Der Cron-Daemon liest die bereitgestellten Anweisungen und führt sie aus.

Denken Sie daran, dass Cron nicht neu gestartet werden muss, um Änderungen zu übernehmen.

Crontab für einen anderen Benutzer bearbeiten

Um die Crontab für einen anderen Benutzer zu bearbeiten, geben Sie den folgenden Befehl ein:

crontab –u other_username –e

Cron-Job-Beispiele

Verwenden Sie beim Angeben von Jobs das Sternchen, um alle Werte anzugeben. Wenn Sie einen Wert in eines der Felder eingeben, wird der Befehl nur für diesen Wert ausgeführt. Zum Beispiel:

* 2 0 * 4 /root/backup.sh

Obwohl es auf 2 Uhr nachts eingestellt ist, läuft es nur, wenn der Erste des Monats (0) auf einen Mittwoch (4) fällt. Wenn Sie zu Folgendem wechseln:

* 2 0 * * /root/backup.sh

Der Befehl wird am ersten jeden Monats um 2 Uhr morgens ausgeführt. Die folgende Tabelle enthält einige grundlegende Befehle zur Verwendung von /root/backup.sh Datei aus unseren vorherigen Beispielen.

Cron-Job Befehl
Cron-Job jede Minute ausführen * * * * * /root/backup.sh
Cron-Job alle 30 Minuten ausführen 30 * * * * /root/backup.sh
Cron-Job stündlich ausführen 0 * * * */root/backup.sh
Cron-Job jeden Tag um Mitternacht ausführen 0 0 * * * /root/backup.sh
Cron-Job jeden Tag um 2 Uhr morgens ausführen 0 2 * * * /root/backup.sh
Jeden 1. des Monats Cron-Job ausführen 0 0 1 * * /root/backup.sh
Cron-Job alle 15 des Monats ausführen 0 0 15 * * /root/backup.sh
Cronjob am 1. Dezember ausführen – Mitternacht 0 0 0 12 * /root/backup.sh
Cron-Job am Samstag um Mitternacht ausführen 0 0 * * 6 /root/backup.sh

Sonderzeichen verwenden

Sie können den Schrägstrich verwenden, um eine Zeitzeichenfolge in Schritte zu unterteilen. So führen Sie alle 15 Minuten ein Backup durch:

*/15 * * * *

Der * bedeutet alle Werte und /15 zählt und wiederholt sich jede 15. Minute.

Verwenden Sie den Bindestrich, um einen Bereich anzugeben. So führen Sie den Code jeden Wochentag um 4 Uhr morgens aus:

0 4 * * 1-5 /root/backup.sh

In diesem Fall 1-5 gibt Montag – Freitag an.

Verwenden Sie ein Komma, um einzelne Instanzen anzugeben, wenn der Code ausgeführt werden soll:

0 4 * * 2,4 /root/backup.sh

Dies würde den Code am Dienstag und Donnerstag um 4 Uhr morgens ausführen.

Einige Platzhalter können kombiniert werden. Lassen Sie den Befehl jeden zweiten Tag um 37 Minuten nach der vollen Stunde ausführen:

37 1-23/2 * * * /root/backup.sh

1-23 gibt den Bereich der Stunden an, /2 setzt das Intervall auf jede zweite Stunde.

Vorhandene Cron-Jobs auflisten

Sie können alle Cron-Jobs auf Ihrem System auflisten, ohne die crontab-Konfigurationsdatei zu öffnen. Geben Sie den folgenden Befehl in ein Terminalfenster ein:

crontab –l

Linux
  1. So verwenden Sie Cron unter Linux

  2. So verwenden Sie das Cron-Job-Format zum Planen von Aufgaben in Linux

  3. So legen Sie einen Cron-Job in TrueNAS fest

  4. So richten Sie einen Cron-Job ein

  5. So setzen Sie die $Path-Variable in Linux

So richten Sie einen Cron-Job in cPanel ein

Einrichten eines Cron-Jobs in cPanel

Wie richte ich einen Cron-Job bei Hostinger ein?

Was ist ein Cronjob unter Linux

Cron Vs Anacron:So richten Sie Anacron unter Linux ein (mit einem Beispiel)

So richten Sie einen Cron in cPanel ein und führen ihn aus