So richten Sie Cron Jobs unter Linux ein

So richten Sie Cron Jobs unter Linux ein
Automatisierung und Planung von wiederholten Aufgaben auf Desktops und Servern verbessert die Produktivität und senkt die manuelle Intervention und Überwachung ab. Für Linux stehen zahlreiche solche Tools zur Verfügung, und eines der am häufigsten verwendeten unter ihnen ist „Cron“.

In diesem Artikel erläutert die Planungsaufgaben und das Ausführen von Skripten in regelmäßigen Abständen mit Cron Jobs.

Was ist Cron?

Cron ist ein Aufgabenplanungsprogramm, das als Prozess im Hintergrund ausgeführt wird. Es kann verwendet werden, um bestimmte Jobs regelmäßig auszuführen, die mithilfe seiner vordefinierten Regeln geplant sind. Cron ist auf den meisten Linux -Verteilungen vorinstalliert oder in den Repositories erhältlich, die manuell installiert werden sollen.

Cron Presets

Cron on Ubuntu verfügt über eine Reihe von vordefinierten Schedulern. Sie können sie überprüfen, indem Sie den folgenden Befehl ausführen:

$ ls /etc /cron.*

Normalerweise sind diese Ordner „/etc/cron.stündlich “,„/etc/cron.täglich “,„/etc/cron.monatlich “und„/etc/cron.wöchentlich".

Stellen Sie einfach Ihre gewünschten Skripte in einen dieser Ordner ein, um automatisierte Aufgaben stündlich, täglich, monatlich oder wöchentlich auszuführen.

Beachten Sie, dass Cron standardmäßig "/bin/sh" Shell verwendet. Wenn Sie "/bin/bash" als Shell in Cron -Skripten verwenden möchten, müssen Sie verwenden "!#/bin/bash ”Hashbang oben in der Skriptdatei oder definieren Sie Shell als" Shell =/bin/bash "-Variable in der ersten Zeile in einem geplanten Bash -Skript. Übergeordnete "Shell" -Variable funktioniert auch für den unten erläuterten Crontab -Editor.

Nicht alle Systemumgebungsvariablen können den Cron -Jobs ausgesetzt sein. Es ist also im Allgemeinen eine gute Idee, wichtige Umgebungsvariablen in einem von Cron geplanten Skript manuell zu definieren.

Crontab

Mit Crontab können Sie Ihre eigenen geplanten Aufgaben definieren. Sie können es verwenden, um Cron -Zeitpläne zu konfigurieren, die sich von den oben erläuterten vier Standard -Cron -Voreinstellungen unterscheiden.

Starten Sie den Crontab -Editor zuerst mit dem folgenden Befehl, um eine geplante Aufgabe in Crontab festzulegen:

$ crontab -e

Am Ende der Datei können Sie nun im folgenden Format einen Eintrag hinzufügen:

Minute Hour Day Monat Wochentag/Full/Path/To/Skript.Sch

Wo:

  • Minute: Jeder Wert im Bereich von 0 bis 59
  • Stunde: Jeder Wert im Bereich von 0 bis 23, 0 ist Mitternacht
  • Tag: Jeder Wert im Bereich 1 bis 31
  • Monat: Jeder Wert im Bereich 1 bis 12
  • Wochentag: Jeder Wert im Bereich von 0 bis 6, 0 Sonntag ist

Der unten stehende Crontab -Eintrag wird einen Screenshot Ihres Desktops aufnehmen und jeden Dienstag im März um 15:13 Uhr um 15:13 Uhr am 2. März in Ihrem Heimverzeichnis aufbewahren.

13 15 2 3 2 Scrot

Verwenden Sie den folgenden Befehl, um alle Crontab -Einträge aufzulisten:

$ crontab -l

Mehr Beispiele

CRON -Aufgaben können am besten anhand von Beispielen erläutert werden. Nachfolgend finden Sie einige Beispiele, die regelmäßig Screenshots Ihres Desktops aufnehmen und sie in Home -Ordner speichern.

Neben den fünf Planungsvariablen verwendet Cron auch eine spezielle Zeichenfolge, um Jobs zu planen. Diese Saiten sind:

  • @Hourly: Job wird jede Stunde ausgeführt
  • @Daily / @midnight: Job wird jeden Tag ausgeführt
  • @weekly: Job läuft einmal pro Woche
  • @Monthly: Job läuft einmal im Monat
  • @yearly / @anuell: Job läuft einmal im Jahr
  • @Reboot: Job läuft einmal jeden Neustart / Anmeldung aus

Der unten stehende Crontab -Eintrag wird bei jedem Neustart einen Screenshot erfassen:

@REBOOT Scrot

Sie können "@Reboot" durch alle anderen oben genannten speziellen Zeichenfolgen ersetzen.

Wenn Sie anstelle einer der fünf Variablen einen Sternchen oder eine Wildcard anstelle einer der fünf Variablen verwenden. Der unten stehende Eintrag erfolgt jede Minute ein Screenshot:

* * * * * Scrot

Jede Stunde:

0 * * * * Scrot

Jeden Tag um 18:00 Stunden:

0 18 * * * Scrot

Jeden Monat um 6. um 18:00 Stunden:

0 18 6 * * Scrot

Verwenden Sie „/“, um ein Skript in einem festen periodischen Intervall von 30 Minuten auszuführen (läuft alle 30 Minuten):

*/30 * * * * Scrot

Sie können mit über Kommas getrennte Variablen verwenden, um die Wiederholungsausführung von Skript in regelmäßigen Abständen zu definieren. Das folgende Beispiel wird an jedem 1., 4. und 5. Minute einer neuen Stunde einen Screenshot Ihres Desktops enthält.

1,4,5 * * * * Scrot

Überprüfung von Crontab -Einträgen

Das Definieren von Crontab -Einträgen kann schwierig sein, aber es ist noch schwieriger, sie zu debuggen oder zu überprüfen, ob sie bei korrekten Zeitstempeln arbeiten. Eine Möglichkeit besteht darin, einen virtuellen Computer zu verwenden und Zeitstempel eines Skripts zu protokollieren. Eine bessere Lösung besteht jedoch darin, eine der zahlreichen Online -Testdienste für Cron -Jobs im Web zu verwenden. Ich empfehle, Cron Tester -Website hier auszuprobieren,.

Abschluss

Das Ausführen von Cron Jobs ist eine hervorragende Möglichkeit, wiederholte Aufgaben zu automatisieren, insbesondere auf Servern. Das Tool ist extrem leistungsfähig und anpassbar. Es ist jedoch wichtig festzustellen.