Schauen wir uns einige der echten Beispiele von Cron -Jobs an.
Es gibt viele andere Verwendungen von Cron -Jobs unter Linux.
In diesem Artikel werde ich Ihnen zeigen, wie Sie Cron Jobs jede Minute unter Linux leiten können. Ich werde Debian 9 Stretch für die Demonstration verwenden. Sie können jedoch jede moderne Linux -Verteilung Ihrer Wahl verwenden. Lass uns anfangen.
Unter Linux müssen Sie nicht sein Wurzel um Cron Jobs zu leiten. Sie können Cron -Jobs als Benutzer ausführen. Jeder Benutzer unter Linux kann a verwenden Crontab Datei, um ihre eigenen Cron -Jobs auszuführen.
Standardmäßig hat ein Benutzer keine Crontab Datei unter Linux. Sie können a erstellen Crontab Datei mit dem folgenden Befehl:
$ crontab -e
Wenn Sie diesen Befehl zum ersten Mal ausführen, sollten Sie aufgefordert werden, einen Texteditor aus der Liste auszuwählen. Ich werde auswählen Nano, der Standard. Sie können den auswählen, den Sie mögen. Sobald Sie fertig sind, drücken Sie .
Der Crontab Die Datei sollte erstellt werden (falls bereits verfügbar) und mit Ihrem bevorzugten Texteditor geöffnet werden. Jetzt können Sie am Ende dieser Datei Ihre eigenen Cron -Jobs hinzufügen und wenn Sie zufrieden sind, speichern Sie sie einfach und beenden Sie aus dem Texteditor heraus.
Syntax des Ausführens eines Befehls jede Minute:
Die Syntax von Crontab Die Datei ist wie folgt:
Minute Hour Dayofmonth Month Dayofweek Commandtorun
Hier,
A KommandoTorun Befehlen Sie jede Minute, Sie sollten es in die schreiben Crontab Datei wie folgt:
* * * * * commandTorun
Jede Minute einen Crob -Job durchführen:
Jetzt, da wir die Theorien kennen, fügen wir ein einfaches Skript hinzu Timer.Sch zum Crontab Datei und sehen, wie man es verwaltet.
Im Timer.Sch Skript, ich habe nur die folgenden Codeszeilen. Alles, was es tut, ist eine neue Datei zu erstellen /Home/Shovon/Bin/Timer.Protokoll (Wenn es nicht noch nicht vorhanden ist) und findet die Ausgabe des Datumsbefehls an.
Fügen wir jetzt das Skript zu unserem hinzu Crontab Und lassen Sie es jede Minute mit der folgenden Zeile laufen:
* * * * */home/shovon/bin/timer.Sch
Sobald Sie die retten Crontab Datei und beenden Sie aus dem Texteditor, dem neuen Crontab Die Datei sollte installiert werden.
Nach einer Minute ist eine neue Datei bestanden Timer.Protokoll wird im gewünschten Verzeichnis erstellt, wie Sie im markierten Abschnitt des Screenshot unten sehen können.
Von dem Timer.Protokoll Protokolldatei, es ist offensichtlich, dass das Skript Timer.Sch läuft jede Minute.
Fehler von den Cron -Jobs fangen:
Um Fehler von einem Cron -Job zu erfassen, können Sie die Fehler an a senden Fehler.Protokoll Datei und normale Ausgänge zu Zugang.Protokoll Datei zum Beispiel. Natürlich können Sie die Dateien alles nennen, was Sie wollen.
Um dies zu demonstrieren, habe ich mein Skript geändert Timer.Sch ein bißchen. Jetzt werden die Fehler an gesendet Fehler.Protokoll Datei in der /home/shovon/bin Verzeichnis und die Ausgänge werden an gesendet an Zugang.Protokoll im /home/shovon/bin Verzeichnis.
Zuerst die /tmp/i_must_be_here Datei gibt es nicht, daher erhalte ich den Fehler in der Fehler.Protokoll Datei wie Sie sehen können.
Der Zugang.Protokoll Die Datei ist momentan leer.
Jetzt werde ich die Datei erstellen /tmp/i_must_be_here
Und wie Sie sehen können, ist die Ausgabe in der Zugang.Protokoll Datei jetzt.
Wenn Sie möchten, können Sie die Ausgabe und die Fehler in derselben Datei wie folgt umleiten:
Wie Sie sehen können, werden Stdin- und Stderr -Ausgänge an die gesendet aus.Protokoll Datei.
Stellen Sie sicher, dass der letzte Job beendet wurde, bevor der Job erneut ausgeführt wird:
Damit dies funktioniert. Anschließend können Sie überprüfen, ob die temporäre Datei vorhanden ist, bevor Sie mit dem Job beginnen. Wenn dies der Fall ist, können Sie den Job verlassen und den Job nur ausführen, wenn die temporäre Datei nicht verfügbar ist.
Dieses einfache Skript macht genau das.
Wie Sie sehen können, die Timer.PID Datei wird erstellt.
Lesen der Zugang.Protokoll Die Datei beweist, dass der Cron -Job nicht vor dem vorherigen Cron -Job ausgeführt wird. Wie Sie sehen können, lief es um 01:32:01 und hätte das nächste Mal um 01:33:01 Uhr gelaufen sein, aber es nicht nicht. Stattdessen lief es um 01:35:01, ungefähr 3 Minuten später.
Organisieren von Cron -Jobausgaben für einfaches Debuggen:
Sie können die Ausgänge gut formatieren, um Ihren Cron -Job zu erleichtern, um zu debuggen.
Ein Beispiel dafür, wie es getan werden kann, ist im folgenden Skript angegeben.
Wie Sie sehen können, sind die Ausgänge, Fehler und Erfolgsnachrichten in der Protokolldatei gut gedruckt.
Sie können erstaunliche Dinge mit Cron -Jobs und Shell -Skripten tun. Ich habe einige der Ideen hier demonstriert. Aber der Himmel ist deine Grenze. Fühlen Sie sich frei, mit allen Ideen zu experimentieren, die Sie haben. Danke, dass du diesen Artikel gelesen hast.