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.SchWo:
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 ScrotVerwenden 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:
Der unten stehende Crontab -Eintrag wird bei jedem Neustart einen Screenshot erfassen:
@REBOOT ScrotSie 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:
* * * * * ScrotJede Stunde:
0 * * * * ScrotJeden Tag um 18:00 Stunden:
0 18 * * * ScrotJeden Monat um 6. um 18:00 Stunden:
0 18 6 * * ScrotVerwenden Sie „/“, um ein Skript in einem festen periodischen Intervall von 30 Minuten auszuführen (läuft alle 30 Minuten):
*/30 * * * * ScrotSie 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.