Cron Jobs komplette Anfänger -Tutorial für Anfänger

Cron Jobs komplette Anfänger -Tutorial für Anfänger
Cron ist das nützlichste Dienstprogramm in einem Linux- oder Unix-ähnlichen Betriebssystem, mit dem das Ausführen von Befehlen oder Skripten in einem bestimmten Zeitplan ohne Benutzerintervention ausgeführt wird. Die geplanten Befehle und Skripte werden auch als Cron Jobs bezeichnet. Es wird hauptsächlich für die Automatisierung wiederkehrender Jobs verwendet, z. Es ähnelt dem Task -Scheduler im Windows -Betriebssystem.

In diesem Tutorial bieten wir Ihnen die grundlegende Einführung von allem, was Sie für die Planung eines Jobs bei Cron verstehen müssen. Dies beinhaltet die grundlegende Syntax von Cron, Bearbeitung von Crontab -Datei, planen Sie einen Job bei Cron mit wenigen Beispielen, Cron -Job anzeigen usw.

Grundlagen des Cron -Jobs

Lassen Sie uns einige Grundlagen eines Cron -Jobs verstehen.

Was ist Crond?

Crond ist der Daemon im Linux -System, der im Hintergrund ausgeführt wird und jede Minute überprüft, um zu sehen, ob zu diesem Zeitpunkt irgendwelche Jobs geplant sind. Wenn ja, erledigt es diesen Job, sonst bleibt er inaktiv.

Cron Jobsyntax

Die Syntax für Cron Job lautet wie folgt:

* * * * * Befehl/Skript

Von links:

  • Das erste * entspricht Minuten (0-59)
  • Der zweite * entspricht Stunden (0-23)
  • Der dritte * entspricht dem Tag des Monats (1-31)
  • Der vierte * entspricht dem Jahr des Jahres (1-12)
  • Das fünfte * entspricht dem Wochentag (0-6, Sonntag bis Samstag)

Um mehrere Werte in einem Feld anzugeben, verwenden Sie die folgenden Operatorsymbole:

  1. Sternchen (*): Um alle möglichen Werte für ein Feld anzugeben
  2. Bindestrich (-): Zu Specify einen Wertebereich
  3. Das Komma (,): Um eine Liste von Werten anzugeben
  4. Separator (/): Um einen Schrittwert anzugeben

Bearbeitung von Crontab -Datei

Crontab ist eine Datei, die die geplanten Jobs in einer bestimmten Syntax enthält. Es gibt zwei Arten von Crontab -Dateien; eine für systemspezifische Cron-Jobs und die andere für benutzerspezifische Cron-Jobs.

System Cron Jobs

Die systemweiten Cron-Jobs befinden sich in der /etc/crontab Datei und /etc/cron.D Verzeichnis, und sie werden durchlaufen /etc/cron.stündlich, /etc/cron.täglich, /etc/cron.wöchentlich Und /etc/cron.monatlich. Nur ein Systemadministrator kann auf diese Dateien zugreifen.

Ein Systemadministrator kann einen Cron -Job mit dem folgenden Befehl definieren:

$ nano /etc /crontab

Hier ist die Syntax des Jobs in der /etc/crontab Datei:

# Min HR HR Dayofmonth Month Dayof Week Benutzername Command
* * * * * user1 ifconfig

Benutzerspezifische Cron-Jobs

Die benutzerspezifischen Cron-Jobs befinden sich im / /var/spool/cron/crontabs Verzeichnis. Obwohl Sie diese Jobs manuell bearbeiten können, wird empfohlen, diese Jobs mit dem Befehl crontab -e zu bearbeiten.

Ein Standardbenutzer kann einen Cron -Job mit dem folgenden Befehl definieren:

$ crontab -e

Wenn Sie beispielsweise als "Test" -Nutzer angemeldet sind. Wenn Sie als Stammbenutzer angemeldet sind.

Geben Sie den folgenden Befehl im Terminal aus, um die Crontab -Datei für einen anderen Benutzer zu bearbeiten:

$ sudo crontab -u -e

Wenn Sie beispielsweise als "Test1" -Nutzer angemeldet sind und die Crontab -Datei für den Benutzer "test2" bearbeiten möchten, wäre der Befehl:

$ sudo crontab -u test2 -e

Hier ist die Syntax des Cron -Jobs, der in der Crontab -Datei hinzugefügt werden kann:

# M H Dayofmonth Month Dayofweek Command
* * * * * ifconfig

Sie können in benutzerspezifischen Jobs sehen, dass kein „Benutzername“ eingereicht wird.

Crontab -Befehle

Der Befehl crontab wird verwendet, um die Cron -Jobs zu bearbeiten, aufzulisten und zu entfernen:

  • Crontab -e So bearbeiten Sie die Crontab -Datei des aktuellen Benutzers
  • Crontab -l Inhalt der Crontab -Datei anzeigen
  • Crontab -u [Benutzername] So bearbeiten Sie die Crontab -Datei eines anderen Benutzers
  • Crontab -r Um die Crontab -Datei des aktuellen Benutzers zu entfernen
  • Crontab -i Um eine Eingabeaufforderung anzuzeigen, bevor die Crontab -Datei des aktuellen Benutzers entfernt wird

Planen eines Jobs mit Cron

Mit Cron können Sie einen Job zu einem bestimmten Zeitpunkt, Datum und Intervallen mit einer minimalen Einheit in Minuten ausführen.e., Sie können jede Minute einen Job machen.

Öffnen Sie die Crontab -Datei mit der im vorherigen Abschnitt beschriebenen Methode, um einen Job bei Cron mit Cron zu planen. Sobald Sie die Crontab -Datei geöffnet haben, werden Sie aufgefordert, einen Texteditor auszuwählen. Geben Sie eine Nummer ein, um Ihren bevorzugten Texteditor auszuwählen. Scrollen Sie nach unten bis zum Ende der Datei und fügen Sie Jobs in die oben beschriebene Syntax hinzu. Jede Zeile in einer Datei gibt einen Befehl an. Die ersten fünf Einträge in der Zeile geben die geplante Zeit an, und der letzte Eintrag gibt an, welcher Befehl oder Skript ausgeführt werden soll.

Beispiel:

Die folgende Zeile in der Crontab-Datei plant den Cron-Job, um den Befehl/das Skript von Montag bis Samstag auf jeder 30. Minute nach 5 Stunden an jedem Woche auszuführen.

*/30 5 * * 1-6 Befehl/Skript

Protokoll

In diesem Feld geben wir die Minuten an, in denen der Befehl ausgeführt wird. Es ist von 0 bis 59 angegeben. Das * in diesem Bereich bedeutet, den Job jede Minute zu erledigen. In der obigen Crontab -Zeile gibt der */30 den Cron -Job an, den angegebenen Befehl/das angegebene Skript alle 30 Minuten auszuführen.

Std

In diesem Feld geben wir die Stunden an, in denen wir möchten, dass der Befehl ausgeführt wird. Es ist von 0 bis 23 angegeben. Das * in diesem Bereich bedeutet, den Job jede Stunde zu leiten. In der obigen Crontab -Zeile gibt der Wert 5 dem Cron -Job an, den angegebenen Befehl/Skript alle fünf Stunden auszuführen.

Monatstag

In diesem Bereich geben wir die jeweiligen Tage an Monaten an, an denen der Befehl ausgeführt wird. Es ist von 1 bis 31 angegeben. Das * in diesem Bereich bedeutet jeden Tag. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Tag auszuführen.

Monat des Jahres

In diesem Bereich geben wir die jeweiligen Monate an, in denen der Befehl ausgeführt wird. Es ist von 1 bis 12 angegeben. Das * in diesem Bereich bedeutet jeden Monat. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Monat auszuführen.

Wochentag

In diesem Bereich geben wir die jeweiligen Tage der Woche an, an denen wir möchten, dass der Befehl ausgeführt wird. Es wird von Sonntag bis Samstag von 0 bis 6 angegeben (0 für Sonntag und 6 für Samstag). Das * in diesem Bereich bedeutet jeden Tag in einer Woche. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Tag in einer Woche auszuführen.

Beispiele für Cron -Jobs

Hier sind einige Beispiele für Cron -Jobs:

Führen Sie alle 15 Minuten einen Cron -Job durch

Fügen Sie die folgende Zeile in die Crontab -Datei hinzu, um einen Cron -Job zu planen, der alle 15 Minuten ausgeführt werden soll:

*/15 * * * * Befehl/Skript

Führen Sie jeden Tag um 5 Uhr morgens einen Cron -Job durch

Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um einen Cron -Job zu planen, der jeden Tag um 5 Uhr morgens ausgeführt werden soll:

0 5 * * * Befehl/Skript

Führen Sie jeden Tag um 17 Uhr einen Cron -Job durch

Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um einen Cron -Job zu planen, der um 17 Uhr um 17.00 Uhr ausgeführt werden soll:

0 17 * * * Befehl/Skript

Führen Sie am ersten Tag eines jeden Monats um 9 Uhr morgens einen Cron -Job durch

Um einen Cron -Job zu planen, der am ersten Tag eines jeden Monats um 9 Uhr morgens ausgeführt wird, fügen Sie die folgende Zeile in die Crontab -Datei hinzu:

0 9 1 * * Befehl/Skript

Führen Sie jeden 15. März jede Stunde einen Cron -Job durch

Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um jeden 15. März einen Cron -Job zu vereinbaren:

0 * 15 3 * Befehl/Skript

Führen Sie alle 5 Stunden einen Cron -Job durch

Um alle 5 Stunden einen Cron -Job zu vereinbaren, fügen Sie die folgende Zeile in die Crontab -Datei hinzu:

0 */5 * * * * * Befehl/Skript

Führen Sie alle 15 Minuten einen Cron -Job durch

Fügen Sie die folgende Zeile in die Crontab -Datei hinzu, um einen Cron -Job zu planen, der alle 15 Minuten ausgeführt werden soll:

*/15 * * * *

Saiten verwenden

Die folgenden Zeichenfolgen können auch verwendet werden, um einen Job zu definieren:

  1. @stündlich: Ich pro Stunde einmal pro Stunde einen Job ausführen, ich.e., “0 * * * * *
  2. @Mitternacht: Ich täglich einmal einen Job ausführen, ich.e., “0 0 * * * *
  3. @täglich: Gleich wie Mitternacht
  4. @wöchentlich: Ich habe einmal pro Woche einen Job ausführen, ich.e., “0 0 * * 0 0
  5. @monatlich: Einen Job einmal im Monat ausführen, ich.e., “0 0 1 * * *
  6. @jährlich: Ich habe einmal im Jahr einen Job ausführen, ich.e., “0 0 1 1 *
  7. @jährlich: Wie @annuell
  8. @Reboot: Einmal bei jedem Start -up einen Job ausführen

Um beispielsweise jede Woche ein Skript oder Befehl auszuführen, wäre der Eintrag in der Crontab -Datei:

@weekly Command/Skript

Vordefinierte Cron -Verzeichnisse

Es gibt einige vordefinierte Cron-Verzeichnisse in Linux, in denen die gespeicherten Skripte automatisch ausgeführt werden. Wenn wir ein Skript unter diesen Verzeichnissen platzieren, wird es automatisch zum konfigurierten Zeitpunkt ausgeführt.

  • /etc/cron.täglich
  • /etc/cron.stündlich
  • /etc/cron.monatlich
  • /etc/cron.wöchentlich

Um beispielsweise ein Skript einmal im Monat auszuführen, müssen Sie es in die /etc /cron platzieren.monatlich.

Cron Jobs anzeigen

Sehen Sie sich Jobs für den aktuellen Benutzer an

Verwenden Sie den folgenden Befehl, um alle geplanten Cron -Jobs für den aktuellen Benutzer anzuzeigen:

$ crontab -l

Sehen Sie sich Jobs für die Root -Benutzer an

Um alle geplanten Jobs des Stammbenutzers anzuzeigen, geben Sie den folgenden Befehl in Terminal aus:

$ cat /etc /crontab

Sie müssen sich als Root -Benutzer anmelden oder den Befehl als sudo ausführen.

Sehen Sie sich Jobs für die anderen Benutzer an

Wenn Sie alle geplanten Jobs eines bestimmten Benutzers angezeigt haben, geben Sie den folgenden Befehl im Terminal aus und ersetzen Sie den durch den tatsächlichen Benutzernamen:

$ sudo crontab -u -l

Um diesen Befehl auszuführen, benötigen Sie Sudo -Privilegien.

Stündliche Cron -Jobs anzeigen

Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie stündlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:

$ ls -la /etc /cron.stündlich

Daily Cron Jobs anzeigen

Um alle Cron -Jobs anzuzeigen, die für die tägliche Ausführung konfiguriert sind, geben Sie den folgenden Befehl im Terminal aus:

$ ls -la /etc /cron.täglich/

Weekly Cron Jobs anzeigen

Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie wöchentlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:

$ ls -la /etc /cron.wöchentlich/

Monatliche Cron -Jobs anzeigen

Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie monatlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:

$ ls -la /etc /cron.monatlich/

Sicherung aller Cron -Jobs

Es wird empfohlen, eine Sicherung aller Cron -Jobs in einer Datei zu behalten, damit Sie sich im Falle eines Löschens wiederherstellen können. Verwenden Sie den Umleitungsbetreiber, um die Ausgabe von Crontab -l zu einer Datei umzuleiten, um alle aktuellen Jobs zu sichern.

$ crontab -l> backup_cron.txt

Entfernen Sie alle geplanten Cron -Jobs

Um alle geplanten Cron -Jobs zu entfernen, verwenden Sie die -r -Flag wie folgt:

$ crontab -r

Cron -Erlaubnis

Wir können den Befehl Zugriff auf Crontab über zwei Dateien einschränken: / etc/cron.und / etc / cron erlauben.leugnen.

  • /etc/cron.erlauben - Fügen Sie Benutzer (eine pro Zeile) hinzu, die Sie Zugriff auf Crontab -Befehle ermöglichen möchten. Diese Benutzer können Zeitplanjobs ausführen.
  • /etc/cron.leugnen - Fügen Sie Benutzer (eine pro Zeile) hinzu, die Sie Zugriff auf Crontab -Befehle verweigern möchten. Diese Benutzer können geplante Jobs nicht ausführen.

Crontab -Syntaxgeneratoren

Es gibt einige Websites, auf denen Syntax für Crontabs generiert werden kann. Diese Websites erleichtern es, den Krontab -Ausdruck zu erzeugen, ohne sich an die Syntax zu erinnern zu müssen. Obwohl für Syntaxgeneratoren wie Crontabgenerator verschiedene Websites verfügbar sind.com, Crontab-Generator.Org und Cronmaker.com. Der, den ich meistens hilfreich und fand hilfreich, ist der Crontab.Guru. Basierend auf Benutzereingaben generiert es einen Crontab-Ausdruck, den Sie in die Crontab-Datei kopieren können.

Abschluss

In diesem Tutorial haben wir die Grundlagen von Cron -Jobs, seiner Syntax und der Einrichtung erläutert. Wir haben auch besprochen, wie man Cron -Jobs sieht, ein Backup erstellt und sie entfernen, wenn sie nicht mehr benötigt werden.