Ein Anfängerleitfaden für Crontab über CentOs

Ein Anfängerleitfaden für Crontab über CentOs

Der "CronDämon ist eine integrierte Linux-Anwendung, die Linux-Benutzer zur Planung der Ausführung von Prozessen verwenden. Cron sucht die “Cron -Tische" oder "Crontab”Für die jeweiligen Dateien und Skripte. Die Crontab -Datei enthält eine Reihe von Befehlen, die Sie regelmäßig ausführen können. Es enthält auch die Namen der Befehle, die für die Verwaltung der Befehlsliste verwendet werden. Crontab Verwenden Sie auch den Cronjob -Scheduler, um Operationen durchzuführen. Nach einer Reihe von Anweisungen, Cron ist eine Systemfunktion, die Prozesse für Sie ausführt oder ausführt. Crontab ist der Name des Zeitplans sowie das Dienstprogramm, das für diese Modifikationen verwendet wird.

In diesem Beitrag werden wir die folgenden Punkte mit Crontab abdecken:

  1. Geschichte
  2. Cron Modern Versionen
  3. Was ist ein Cronjob?
  4. Warum Cronjob benutzen??
  5. Cronjob -Elemente
  6. Crontab arbeiten
  7. Verbrauch von Crontab
  8. Syntax von Crontab
  9. Sonderzeichen im Ausdruck
  10. Cron Special Saiten
  11. Umgebungsvariable
  12. Crontab -Variable
  13. Crontab -Befehlsoptionen
  14. Einbau von Cron auf CentOS
  15. Crontab Scheduler: Systemweit
  16. Cron -Zugang
  17. Crontab Management
  18. 14 Cronjob -Beispiele
  19. Erstellen von Cronjob für einen bestimmten Benutzer
  20. Cronjobs auflisten
  21. Erstellen von Cronjobs Backup
  22. Cronjobs entfernen
  23. Cronjob Output Management
  24. Cronjob -Grenzen
  25. Umgang mit Cronjob -Fehlern
  26. Syntaxgeneratoren für Crontab
  27. Grafische Frontendungen für Crontab

Gehen wir also zu dieser Reise!

Geschichte:

Als das Betriebssystem den Multi-User-Modus für seine Benutzer aktivierte, wurde der Cron-Systemdienst von “aufgerufen/etc/rc“. Sein Algorithmus besteht aus den folgenden Schritten:

  1. Lies das "/usr/lib/crontab" Verzeichnis.
  2. Überprüfen Sie, ob die Befehle zum aktuellen Uhrzeit und Datum ausgeführt werden, und führen Sie die Befehle als Stamm aus, den Superuser ausführen.
  3. Nehmen Sie einen einminütigen Schlaf.
  4. Wiederholen Sie Schritt 1 von Anfang an.

Diese Version von Cron war zuverlässig und unkompliziert, aber es verwendete Ressourcen, unabhängig davon, ob es Arbeit zu tun hatte. Während eines Experiments der späten 1970er Jahre an der Purdue University wurde festgestellt Cron's Service allen 100 Benutzern haben zu viel Druck auf das System ausgeübt.

Cron Modern Versionen:

Neue Crons erschienen mit der Einführung des Linux- und GNU -Projekts. Der "Vixie Cron”, Geschaffen von Paul Vixie 1987, ist der häufigste Cron da draußen. Der Vixie Cron Version 3 wurde im letzten Quartal 1993 eingeführt. Im Januar 2004 wurde ISC Cron in Version 4 umbenannt.1. Die meisten BSD- und Linux -Verteilungen verwenden Version 3 mit einigen kleinen Fehlerbehebungen. Im Jahr 2007 trennte Red Hat Vixie-Cron 4.1 und Anacron 2.3 wurde 2009 hinzugefügt. Anacron und DCRON sind zwei weitere prominente Implementierungen. Anacron ist kein eigenständiges Cron-Programm. Es muss von einem anderen Cronjob gerufen werden. Matt Dillon, der Gründer von Dragonfly BSD, schuf DCRON, und Jim Pryor übernahm seine Wartung im Jahr 2010.

Dale Mellor erstellte McRron, eine aufschauende Cron-Version, die 2003 mit Vixie Cron kompatibel ist, die kompatibel ist. Es ermöglicht auch eine größere Flexibilität durch Einbeziehung von Schema -Code in Aufgabenbeschreibungen und Planungsberechnungen. MCRron ist standardmäßig unter der Guix -Paketverwaltung installiert. Es garantiert auch, dass die erforderlichen Pakete installiert sind und dass sich die relevanten Crontabs korrekt darauf beziehen. Wenn Cron -Implementierungen in einer Webhosting -Umgebung nicht zugänglich sind, setzt eine WebCron -Lösung Ringaufgaben ein, um regelmäßig auszuführen.

Was ist ein Cronjob?

Cron ist ein Tool, mit dem Sie Aufgaben für die spätere Ausführung planen können. Möglicherweise möchten Sie einen anderen Befehl verwenden, wenn Sie einen einmaligen Job für ein späteres Datum planen möchten. Gleichzeitig ist Cron ideal für wiederkehrende Aufgaben.

Möglicherweise sind Sie mit den Hintergrundprozessen in Windows wie Diensten vertraut. Cron ist ein Daemon, der seine Funktionalität ausführt, indem die Aufgaben im Hintergrund ausgeführt werden. In einem Leerlaufzustand wartet der Daemon darauf, eine Aufgabe entweder aus dem Arbeitssystem oder aus Linux-basiertem anderen im Netzwerk vorhandenen System zu erfüllen. Wenn wir über die Struktur der Cron -Datei sprechen, haben wir eine Cron -Datei, eine einfache Textdatei, die Befehle enthält, die zum geplanten Zeitpunkt ausgeführt werden sollen. Der "/etc/crontabIst die Standard -System -Crontab -Datei, die im folgenden Crontab -Verzeichnis vorhanden ist: “/etc/cron.*/”. Systemadministratoren können die System -Crontab -Datei ändern.

Linux-basierte Betriebssysteme unterstützen zahlreiche Benutzer. Jeder von ihnen kann seine Crontab -Datei erstellen und Befehle hinzufügen, um Aufgaben auszuführen, wenn sie sich wünschen. Ein Cron -Daemon überprüft die Crontab -Datei und führt dann den Job im Hintergrund aus. Sie können auch Cronjobs zum Erstellen von Backups, der Überwachung des CD -Raums und zur Automatisierung der Systemwartung verwenden. Cron -Aufgaben sind ideal für eine Maschine, die sieben Tage in der Woche, 24 Stunden am Tag ausführt. Während Systemadministratoren hauptsächlich Cron -Aufgaben verwenden, können sie auch für Webentwickler äußerst wertvoll sein.

Warum Cronjob benutzen??

  • Cronjobs helfen bei der Archivierung von Datenbanktabellen.
  • Löschen Sie alle Protokolldateien, die älter als ein Jahr sind.
  • Sendet E -Mail -Benachrichtigungen wie Ablauf von Kennwort und Newsletter.
  • Es unterstützt das Betriebssystem bei der Erstellung einer geplanten Sicherung von Datenbanken und Protokolldateien.
  • Regelmäßig von zwischengespeicherte Daten aufräumen.
  • Es wird verwendet, um die Systempflege zu automatisieren.
  • Es ist ein enormes Werkzeug zur Automatisierung von UNIX -Aufgaben.

Cronjob -Elemente:

Die Mehrheit der Cronjobs hat drei Teile:

  • Der Befehl Das wird zum Ausführen eines Skripts verwendet.
  • Der Skript das wird ausgeführt.
  • Der Ausgang der Skriptausführung.

Die meisten Programme, die die Verwendung eines Cronjobs benötigen.

Die Crontab -Datei:

Eine Crontab -Dateizeile ist entweder "inaktiv" oder "aktiv". Eine "aktive" Zeile ist ein Cron -Befehlseintrag oder ein Umgebungsparameter. Jede Zeile, die ignoriert wird, einschließlich Kommentare, gilt als „inaktiv“, als „inaktiv“. Registerkarten, führende Räume und leere Linien werden nicht berücksichtigt. Zeilen mit dem Zeichen "#" als erster Nicht-Raum-Charakter wird als Kommentare gelesen und ignoriert. In den Umgebungsvariableneinstellungen oder Cron -Befehlen dürfen Befehle in denselben Zeilen nicht existieren, da die Kommentare, wenn Sie dies tun, Teil des Cron -Befehls werden.

Crontab arbeiten:

Crontabs finden Sie im lokalen Verzeichnis, wie z/var/spulen" oder "/var/spool/cron/crontabs”, Das ist sein Unterverzeichnis. Auch wenn sie an einem dieser Standorte vorhanden sind, verwenden Sie den Befehl crontab, um die Aufgabe der Bearbeitung zu erfüllen. Wir werden herausfinden, welche Komponenten benötigt werden, bevor Sie die gewünschten Ergebnisse von Crontab -Aktionen erwarten können. Der Eintrag im Crontab muss im ersten Befehl vorhanden sein. Die fünf Parameter geben ihre Ausführungszeit an und ob sie ausgeführt werden sollte oder nicht. Der Crontab kann bearbeitet werden, indem der erste Eingeben des Bearbeitungsmodus mit dem Befehl eingeht “Crontab -e“. Sobald Sie Zeit als Eingabe gegeben haben, ist das Crontab bereit, zum angegebenen Zeitpunkt zu laufen.

Der Cron -Daemon hilft bei der Ausführung der erforderlichen Überprüfungen, damit der Befehl crontab in dieser Instanz ausgeführt werden kann. Jede Minute überprüft der Crontab -Daemon den Crontab. Infolgedessen enthält dieses Crontab bis zur Minute Informationen. Nachdem die Überprüfung durchgeführt wurde, wird der zugehörige Befehl mit den Feldern im Crontab ausgeführt, das der aktuellen Zeit entspricht.

Situationen wie „fehlende Stunden“ bei Tageslichteinsparungen sollten vermieden werden, da der Befehl möglicherweise nicht einmal ausgeführt wird. Andererseits kann der Befehl sogar zweimal ausgeführt werden, wenn die Zeit mehr als einmal auftritt. Ein weiteres Beispiel ist, dass ein Bindestrich "-" den Cronjob im Laufe des Tages mehrmals ausführen kann. Zum Beispiel kann der Befehl 10-11 verwendet werden, wenn jemand zum 10. und 11. Tag einen Cronjob ausführen möchte. Ein weiterer kritischer Aspekt bei der Ausführung von Cronjobs sind die Einstellungen, um die Arbeiten zu ermöglichen. Die Erlaubnis oder verweigern, dass ein Benutzer Cronjobs ausführen kann, kann durch einige Änderungen im Cron erreicht werden.zulassen oder Cron.Dateien verweigern.

Verbrauch von Crontab:

Das Linux -Systempaket hat "Crontab" zur Jobplanung enthalten. Dementsprechend erleichtert die Ausführung eines Skripts als Root die Systemaktualisierungen der Wartung. Es ist so einfach wie das Ändern des Cronjobs und warten danach auf den Neustartprozess.

Syntax des Crontab:

Die Syntax des Crontab umfasst sechs Felder, in denen die ersten fünf Felder mit dem Ausführungsdatum und der Uhrzeit zusammenhängen. Jedes Feld in einer Crontab -Datei gibt es in der folgenden Reihenfolge:

Minute (s) Stunde (s) Tag (s) Monat (s) Wochentagsbefehl (en)
  • Minute: Sein Wert liegt zwischen dem 0-59-Bereich. Die Minute -Option definiert die genaue Minute, die der Befehl crontab ausgeführt hat.
  • Stunde: Sein Wert liegt zwischen dem Bereich von 0-23. Die Stundenoption definiert den Tag, an dem der Befehl crontab ausgeführt wird.
  • Tag: Sein Wert liegt zwischen dem 1-31-Bereich. Die Tagesoption gibt den Tag an, an dem der Befehl crontab ausgeführt wird.
  • Monat: Sein Wert liegt zwischen dem 1-12-Bereich oder Jan-Dec. Die Monatsoption bestimmt den Monat des Jahres, in dem der Befehl crontab ausgeführt wird.
  • Wochentag: Sein Wert liegt zwischen der 0-6-Reichweite oder dem Sonnenschutz. Die Optionen am Wochentag definieren den Wochentag, an dem der Befehl crontab ausgeführt wird.
  • Befehl: Die Befehlsoption legt die Abfolge der Befehle fest, die ausgeführt werden.

Schauen Sie sich den folgenden Befehl der Syntax von Crontab an:

***** /pathToscript
  • Bereich angeben: Verwenden Sie "-" Bindestrich zur Definition eines bestimmten Bereichs: 30-50, 40-100 oder am Dienstag-Fr, Juli-Dez.
  • Für passende Zwecke, Verwenden Sie Sternchen (*).
  • Definieren Sie mehrere Bereiche: Benutzer können verschiedene Felder definieren, die sich ein Befehl trennen kann, z. B. DEC-May oder FEB-Sept.

Sonderzeichen im Ausdruck:

  • ?”Wird verwendet, um in den folgenden Feldern„ alle “darzustellen: <Woche der Woche> und Für die Bezeichnung eines beliebigen Wertes und ignoriert den Feldwert. Zum Beispiel können wir eine eingeben "?" im Parameter zum Ausführen eines Skripts auf dem “7. eines jeden Monats”, Unabhängig davon, an welchem ​​Wochentag an diesem Tag kommt.
  • *”Wird verwendet, um alle anzugeben oder dass das Ereignis für eine Zeiteinheit auftreten sollte. Zum Beispiel im Feld “,“*”Bedeutet für jede Minute.
  • -"Repräsentiert den" Bereich ". Zum Beispiel, wenn wir das verwenden “-"Zwischen den Stunden von 9-12 bedeutet es" 9., 10., 11. und 12. Stunden ".
  • Die inkrementellen Werte werden unter Verwendung des inkrementellen Symbols „/“ angegeben. Zum Beispiel im Minute -Feld impliziert ein „10/10“ “10, 20, 30, 40 und 50 Minuten einer Stunde”.
  • ," oder "Komma”Liefert einen Wertebereich. Zum Beispiel, "Dienstag, Thur, Sa"Bedeutet"Dienstag, Donnerstag, Samstag“.
  • Wenn in verschiedenen Bereichen beschäftigt ist, der Brief “L”(Last) hat verschiedene Bedeutungen. Laut dem Kalendermonat impliziert es vor Ort als „31. März“, impliziert es den letzten Tag des März. Verwenden eines Offset -Werts damit, wie zL-2„Bedeutet den zweiten bis zum letzten Tag des Monats.
  • Der nächste Wochentag (Montag bis Freitag) bis zu einem bestimmten Tag des Monats wird von “festgelegt“W”(Wochentag). Wenn wir "4W" ins Feld setzen, bedeutet dies "Wochentag nahe dem 4. dieses Monats".
  • #”Bezeichnet das"N-ThWochentag in einem Monat; zum Beispiel, "Zweiter Freitag des Februars" wäre "2#2”.

Cron Special Saiten

Der Cron -Daemon hat einige Abkürzungen, die Jobdefinitionen erleichtern.

Diese Wörter haben eine genaue Bedeutung, und Sie können sie in der Syntax anstelle der 5 Spaltendatumspezifikation verwenden. Im Folgenden finden Sie einige Abkürzungen von Cron:

@stündlich: Es ist dasselbe wie "0 * * * * *Und führt den Befehl zu Beginn jeder Stunde aus.

@täglich: Es ist dasselbe wie "0 0 * * * *Und führt den Befehl einmal am Tag um 12 a aus.M. (Mitternacht).

@wöchentlich: Es ist dasselbe wie "0 0 * * 0 0Und führt den Kommando jede Woche am Sonntag um Mitternacht aus.

@monatlich: Es ist dasselbe wie "0 0 1 * * *Und führt den Befehl mit 12 a aus.M. (Mitternacht) Der erste Tag des Monats.

@jährlich: Es ist dasselbe wie "0 0 1 1 *”Und führt das Kommando einmal im Jahr am 1. Januar um Mitternacht aus.

@REBOOT: Jedes Mal, wenn das System neu gestartet wird, wird dieser Befehl ausgeführt.

Umgebungsvariable:

Wenn Cron einen Job ausführt, kann eine Umgebung, die eine Linie im Crontab einstellt.

In der Crontab kann eine Umgebungseinstellung hinzugefügt werden, wie:

Name = Wert

Räume sind optional “Wert”. Außerdem ist die Zeichenfolge in Zitaten zur Aufrechterhaltung der nachverfolgenden oder führenden Rohlinge beigefügt.

Cron legt einige Umgebungsvariablen für Sie automatisch fest:

  • Der HÜLSE Variable wird auf “gesetzt“/bin/sh”.
  • Das Crontab -Eigentümerverzeichnis “/etc/passwdDie Linie wird verwendet, um einzustellen Home und Logname. Muschel und Zuhause kann zur Laufzeit durch die Verwendung von Crontab -Einstellungen geändert werden, aber wir können das Gleiche nicht mit tun Logname.
  • Manchmal die Variable Logname ist bekannt als "BENUTZER”Auf BSD -Systemen. Wir müssen auch das festlegen “BENUTZER" Aufbau.

Crontab -Variablen:

Einige der regelmäßig verwendeten Cron -Variablen sind unten aufgeführt:

  • WEG: Es ist eine Liste von Verzeichnissen, die von Cron durchsucht werden.
  • Mailto: Geben Sie an, wer die Ausgabe jedes Befehls per E -Mail empfängt.
  • HEIM: Das Home Directory des angemeldeten Benutzers des Benutzers.
  • Logname: Der Name des aktuellen Benutzers.
  • Lang: Die aktuellen Gebietskonfigurationen
  • EDITOR: Der Standard -Editor für Dateien.
  • Post: Der Postspeicherort des aktuellen Benutzers.
  • BEGRIFF: Die aktuelle Emulation eines Terminals.
  • BENUTZER: Der aktuelle Benutzer, der derzeit angemeldet ist.
  • HÜLSE: Die Shell -Route des aktuellen Benutzer -Shell, wie z. B. Bash.

Befehlsoptionen von Crontab:

  • -u [Benutzer]: Diese Option hilft Ihnen, den Benutzer zu definieren.
  • -n [Host]: Legen Sie einen Host im Cluster fest, um die Crontabs der Benutzer mit der Option "-n" auszuführen.
  • -x [Maske]: Verwenden Sie die Option "-x", um das Debuggen zu aktivieren.
  • -E: Diese Option wird für die Bearbeitung von Benutzern Crontab verwendet.
  • -R: Verwenden Sie die Option "-r", um die Crontab eines Benutzers zu löschen.
  • -L: Um die Crontab des Benutzers aufzulisten, schreiben Sie das "-l" im Befehl crontab auf.
  • -C: Damit den Host in den Cluster dazu gebracht werden, die Crontabs der Benutzer auszuführen und die Option "-c" zu verwenden
  • -ich: Vor dem Löschen fordern die Option "-i" verwendet, wird verwendet.
  • -S: Schauen Sie sich den Selinux-Kontext an, indem Sie die Option "-s" verwenden.

Installieren von Cron in CentOS:

Standardmäßig ist Cron in CentOS 8 enthalten. Wenn Sie es nicht bereits haben, installieren Sie es aus irgendeinem Grund auf Ihrem System:

$ sudo dnf install cron
$ sudo systemctl aktivieren -jetzt Crond.Service
$ sudo systemctl Status Cond

Crontab Scheduler: Systemweit

Regelmäßig nutzen die meisten Dienste Crontab. Die Dienste nutzen ihre Einstellungen von Crontab Scheduler direkt auf die “/etc/cron.D" Verzeichnis. Danach führt der Scheduler die in diesem Verzeichnis vorhandenen Dateien automatisch aus. Im Folgenden finden Sie die vorkonfigurierten Ordner von Crontab: “/Etc/cron.stündlich “,„/etc/cron.täglich “,„/etc/cron.wöchentlich “und„/etc/cron.monatlich". Linux -Administratoren haben die volle Kontrolle über diese Verzeichnisse. Gleichzeitig durchquert und führt der Scheduler diese Crontab -Dateien regelmäßig durch. Wenn Root -Benutzer beispielsweise etwas ausführen möchten, möchte er jeden Tag ein bestimmtes Skript ausführen, wird er die Datei in die “platzieren“/etc/cron.täglich" Verzeichnis.

Cron Access:

Sie können die Kontrolle über die Ausführung einer Datei mithilfe der Datei zuweisen Cron. Bewerten Sie diese Funktionalität anhand der folgenden Dateien:

/etc/cron.erlauben: Erlauben

/etc/cron.leugnen: Bestreiten

Dinge zu beachten:

  • Nur der Root -Benutzer kann Cron verwenden, wenn beide Dateien der oben genannten Dateien fehlen.
  • Fügen Sie mit Cron den Namen vor der Datei hinzu, unabhängig davon, ob Sie einen bestimmten Dateinamen verweigern oder zulassen möchten.
  • Fügen Sie die Zeile alle vor dem Cron hinzu.Datei verweigern, wenn Sie nicht möchten, dass ein anderer Benutzer Cron verwendet.
  • Wenn nichts im Cron geschrieben ist.Datei verweigern, alle Benutzer können mit Cron arbeiten.
  • Wenn in beiden Dateien ein Benutzername angezeigt wird: Cron.erlauben, Cron.Leugnen Sie, dann kann dieser Benutzer Cron noch verwenden.
  • Angenommen, ein Benutzer wird in Cron erwähnt.leugnen, aber es gibt keinen Cron.Datei zu diesem Zeitpunkt zulassen; Dann können alle Benutzer Cron mit Ausnahme des angegebenen verwenden.

Crontab Management:

Wie wir zuvor mit Crontab besprochen haben, handelt es sich um eine bestimmte Datei, die den von Cron ausgefüllten Jobpläne enthält. Andererseits sollen diese Jobs nicht direkt bearbeitet werden. Der Befehl Crontab wird zu diesem Zweck empfohlen. Mit dem Befehl crontab ermöglicht es Ihnen, das mit Ihrem Benutzerprofil bezogene Crontab zu bearbeiten, ohne dass Ihre Berechtigungen geändert werden müssen. Dieser Befehl informiert Sie auch über die im Crontab vorhandenen Fehler, was nicht möglich wäre, wenn sie direkt bearbeitet werden. Verwenden Sie den folgenden Befehl zur Bearbeitung Ihres Crontab:

$ crontab -e

Auf Linux -Systemen “,“/ etc/ Verzeichnis”Enthält eine andere Crontab -Datei. Unter dem genannten Ort existiert ein systemweites Crontab, das ein Feld enthält, das angibt. Verwenden Sie den folgenden Befehl zum Ändern des systemweiten Crontab:

$ sudo nano /etc /crontab

Die andere einfachere Methode zum Zugriff auf und bearbeiten auf die Crontab -Datei besteht darin, die “zu verwendenNano" Editor. Machen "Nano”Ihr Standard -Editor, indem Sie folgende Schritte befolgen:

$ nano ~/.bash_profile

Fügen Sie die folgende Zeile zu Beginn der geöffneten Datei hinzu:

export visual = "nano"

Speichern Sie die hinzugefügte Zeile in der “ ~/.bash_profileUnd beenden. Danach laden Sie die "neu"~/.bash_profile" Datei.

$ . ~/.bash_profile

Schreiben Sie nun diesen Befehl auf, um Cronjobs hinzuzufügen:

$ crontab -e

Dies ist die Crontab -Datei, in der wir alle unsere Cronjobs retten:

Verwenden Sie den folgenden Befehl zum Anzeigen des Inhalts von Crontab -Dateien:

$ crontab -l

Notiz: Derzeit haben wir in der Crontab -Datei keinen Cronjob hinzugefügt, um etwas auszudrucken.

Um die in der Crontab -Datei geplanten Cronjobs zu entfernen, schreiben Sie diesen Befehl auf:

$ crontab -r

14 Cronjob -Beispiele:

Beispiel 1: Cronjob -Ausführung nach allen 50 Minuten

Der folgende Befehl crontab führt die “aus“ ausAktualisiert”Nach jeder 50 Minuten:

50 * * * * aktualisiert

Beispiel 2: Cronjob -Ausführung in bestimmten Zeit und Monaten

CRONTAB -Beispiel zur Ausführung /usr/local/bin/testscript.Sch um 8:00 Uhr.M. Am 20. Januar, Februar, März und April:

00 08 20 1,2,3,4 */usr/local/bin/testscript.Sch

Beispiel 3: Cronjob -Ausführung am Freitag 1. 1. P.M.

Mit dem folgenden Befehlsbefehl lässt das System die “ausführen“Testskript.Sch”Jeden Freitag 1 P.M.:

0 01 * * Fr /script /testscript.Sch

Beispiel 4: Cronjob -Ausführung zu jeder Minute

Um ein bestimmtes Skript nach jeder Minute auszuführen, lesen Sie die Syntax dieses Befehls:

* * * * * /scripts /testscript.Sch

Beispiel 5: Cronjob -Ausführung an bestimmten Tagen

Nachfolgend finden Sie ein Beispiel, das Ihnen hilft, wenn Sie einen Cronjob planen möchten, der an bestimmten Tagen ausgeführt werden soll. In diesem Beispiel wird das ausgeführtTestskript.Sch”Am Montag und Mittwoch um 2 p.M.:

0 02 * * Mon, Mi /Skript /Testscript.Sch

Beispiel 6: Cronjob -Ausführung am ersten Montag eines jeden Monats

Der Zeitparameter reicht nicht aus, um in diesem Beispiel festzulegen. Wir werden eine Bedingung verwenden, um festzustellen, dass das bestimmte Skript am ersten Montag des Monats ausgeführt werden sollte:

0 2 * * mon [$ (Datum +%d) -le 07] && /script /testscript.Sch

Beispiel 7: Cronjob -Ausführung an alle 10 Sekunden

Auch hier geben wir eine Bedingung an, um den Cronjob alle 10 Sekunden auszuführen:

* * * * * /scripts /script.Sch
* * * * * Schlaf 10; /Skripte/Skript.Sch

Beispiel 8: Cronjob -Ausführung für mehrere Aufgaben

Verwenden Sie (;) zum Konfigurieren von Cron, um mehrere Befehle auf folgende Weise auszuführen:

* * * * * /scripts /testscript1.Sch; /scripts/testscript2.Sch

Beispiel 9: Cronjob -Ausführung zu Beginn eines jeden Jahres mit "@yearly"

Die Ausführung einer Aufgabe in der ersten Minute eines neuen Jahres ist hilfreich in dem Fall, in dem Sie einen neuen Jahr Wünsche an jemanden senden müssen.“0 0 1 1 *"Ist ähnlich wie der Zeitstempel"@jährlich„:

@yearly /scripts /testscript.Sch

Beispiel 10: Cronjob -Ausführung zu Beginn eines jeden Monats mit "@Monthly"

Du kannst den ... benutzen "@monatlich”Zeitstempel, um die monatlichen Aufgaben wie die Rechnungsstellung an Kunden und die Zahlung von Rechnungen auszuführen:

@monthly /scripts /testscript.Sch

Beispiel 11: Cronjob -Ausführung zu Beginn jeder Woche mit "@weekly"

Führen Sie zu Beginn der Woche jede Aufgabe aus, z. B. die Systemreinigung mit der “@wöchentlich”Zeitstempel. “wöchentlich" ist äquivalent zu "0 0 * * mon”:

@weekly /bin /testscript.Sch

Beispiel 12: Cronjob -Ausführung zu Beginn eines jeden Monats mit "@Daily"

@täglich"Der Zeitstempel entspricht"0 0 * * * *”. Es wird verwendet, um die aufgabenbasierte täglich auszuführen:

@daily /scripts /script.Sch

Beispiel 13: Cronjob -Ausführung zu Beginn jeder Stunde mit "@hourly"

@stündlich"Der Zeitstempel entspricht"0 * * * * *”. Sie können diesen Zeitstempel zur Ausführung stündlicher Aufgaben verwenden:

@hourly /scripts /testscript.Sch

Beispiel 14: Cronjob -Ausführung für das System -Neustart

@REBOOT”Ist praktisch für Aktionen, die Sie ausführen möchten, wenn das System startet. Es ist nützlich, um Aufgaben automatisch im Hintergrund zu starten. Diese Art von Cronjob wird verwendet, um die Startskripte zu planen.

@Reboot /Skripte /Testscript.Sch

Erstellen von Cronjob für einen bestimmten Benutzer

Geben Sie seinen Namen folgendermaßen an, um einen Cronjob für einen bestimmten Benutzer zu planen:

***** Benutzername /path_to_script

Schauen wir uns nun ein kurzes Beispiel an:

50 * * * * LinuxHint aktualisiert

Dieser Befehl führt das ausAktualisiert"Nach alle 50 Minuten für die"LinuxHint" Benutzer.

Auflisten von Cronjobs:

Verwenden Sie diesen Befehl, um die geplanten Cronjobs in Ihrem System aufzulisten:

$ crontab -l

Erstellen von Cronjobs -Backup:

Verwenden Sie diesen Befehl, um eine Sicherung der geplanten Cronjobs zu erstellen:

$ crontab -l> cron -backup.txt

Überprüfen Sie den Inhalt des “Cron-Backup.txt”Um sicherzustellen, dass Cronjobs Backup sind oder nicht:

$ Cat Cron-Backup.txt

Cronjobs entfernen:

Methode 1: Ohne Eingabeaufforderung

Der "Crontab -rDer Befehl ”wird verwendet, um Cronjobs zu entfernen:

$ Crontab -r

Methode 2: mit Eingabeaufforderung

Die Ausführung des folgenden Befehls zeigt Ihnen eine Eingabeaufforderung an, bevor Sie das Crontab löschen:

$ crontab -i -r

Cronjob Output Management:

Wie wir in der Einführung von Cronjob erwähnt haben, arbeiten diese Jobs im Hintergrund. Das ist der Grund, warum es nicht immer erkennt, ob sie die Aufgabe erfolgreich erledigt haben oder nicht. Zu diesem Zeitpunkt haben Sie ein gewisses Verständnis für die Cronjob -Planung und deren Nutzung. Jetzt können Sie mit verschiedenen Möglichkeiten zur Umleitung der Cronjobs experimentieren. Diese Umleitung hilft Ihnen bei der Verfolgung der Funktionalität von Cronjobs.

Beispielsweise können Sie die Ausgabe von Cronjobs an die E -Mail -Adresse senden, die Ihrem Linux -Benutzerprofil zugeordnet ist, wenn ein Mail -Transfer -Agent auf Ihrem Server installiert und konfiguriert ist, wie z. B. “Sendmail”. Im Vergleich dazu "MailtoDie Einstellung oben im Crontab kann auch zur manuellen Bereitstellung von E -Mail -Adressen verwendet werden. Fügen Sie Ihrer Crontab -Datei die folgenden Zeilen hinzu, in denen wir eine "haben"Mailto”Erklärung gefolgt von meiner E -Mail -Adresse, einer Home -Richtlinie, die sich auf das Verzeichnis bezieht, in dem die Binärdatei der Cron gefunden werden sollte, eine einzelne Cron -Aufgabe und a HÜLSE Richtlinie, die die zu laufende Hülle angibt, die in unserem Fall verprügelt wird.

Mailto = "[email protected] "
Shell =/bin/bash
Home =/
50 * * * * LinuxHint aktualisiert
* * * * * Echo 'Führen Sie diesen Befehl alle 50 Minuten aus.'

Diese Aufgabe gibt die Nachricht zurück “Führen Sie diesen Befehl alle 50 Minuten aus“. Die Ausgabe wird per E -Mail an die angegebene E -Mail -Adresse in der “vorhandenMailto”Richtlinie. Um zu vermeiden, eine E -Mail mit dem Ergebnis zu erhalten.

Für das Senden der Ausgabe eines geplanten Befehls an eine Protokolldatei: anhängen >> Bis zum Ende des Befehls mit dem Namen und dem Pfad des Verzeichnisses, das die Protokolldatei enthält, wie unten gezeigt:

* * * * * * Echo 'Führen Sie diesen Befehl alle 50 Minuten aus.' >>/Verzeichnis/Pfad/Datei.Protokoll

Zu diesem Zweck haben wir eine Beispielprotokolldatei erstellt, daher werden wir diesen Befehl wie folgt schreiben:

* * * * * * Echo 'Führen Sie diesen Befehl alle 50 Minuten aus.' >> /Testfile /Samplefile.Protokoll

Cronjob -Grenzen:

Dedizierter und VPS -Server: In diesem Fall gibt es keine Einschränkung für die Cronjob -Ausführung rechtzeitig.

Geteilt und Reseller: Ein Cronjob kann nicht mehr als einmal alle 15 Minuten ausgeführt werden.

Umgang mit Cronjob -Fehlern:

Methode 1: Verwenden /dev /null

Anstatt eine E -Mail -Warnung zu erhalten. Alles, was wir senden oder an Dev/Null schreiben, wird verworfen.

* * * * * CD /HOME /LinuxHint && /bin /bash shell-testScript.sh> /dev /null 2> & 1
  • Der "> /dev /nullTeil des Befehls weist Cron an, die Standardausgabe (STDOut) in /dev /null umzuleiten.
  • Der Dateideskriptor “2”Ist für Standardfehler (STDERR), während der Dateideskriptor von Standard Out" 1 "ist.

Methode 2: Ausgabe an eine bestimmte Datei senden

Es ist eine beliebte Methode, und die meisten Benutzer bevorzugen diese Methode. In dieser Methode müssen Sie eine Datei zum Speichern der Cronjob -Protokolle erstellen. Wenn der Job erfolgreich abgeschlossen ist, wird die Ausgabe gedruckt. Andernfalls wird ein Fehler gedruckt.

Zu diesem Zweck haben wir eine Beispielprotokolldatei erstellt, daher werden wir diesen Befehl wie folgt schreiben:

* * * * * CD /HOME /LinuxHint && /bin /bash shell-testScript.sh >> samplefile.Protokoll

Hier:

  • Der "* * * * *”Zeigt an, dass alle 50 Minuten pro Stunde, Tag, jede Woche und jeden Monat eine Aufgabe durchgeführt wird.
  • Der Pfad der Bash -Shell und die ausführbare Datei sind “/Bin/Bash”.
  • Das Verzeichnis wird in “geändert“/Home/LinuxHint”, Das das Shell-Testscript enthält.sh script.
  • Der ">>"Symbol findet die Ausgabe an eine zuvor erstellte Datei hinzuSample -Datei.Protokoll„Während ein einzelnes> Symbol die Datei überschreibt.

Syntaxgeneratoren für Crontab:

Aus der Demonstration des Beispiels können Sie feststellen, wie einfach es ist, einen Cronjob zu planen. Manchmal kann man eine bestimmte Cronjob -Syntax nicht auswendig lernen. Um die Arbeit noch überschaubarer zu machen, sind nur wenige webbasierte Syntaxgeneratoren für Cron für Sie da. Jetzt werden wir über einige Websites sprechen, die Crontab -Ausdrücke generieren. Diese Ausdrücke basieren auf Ihren Eingaben. Kopieren Sie einfach die Zeile in die Crontab -Datei Ihres Systems, nachdem Sie den Crontab -Ausdruck gemäß Ihrer Anforderung generiert haben.

Crontab -Generator:

Crontab Generator ist ein webbasiertes Tool, mit dem Sie Crontab-Ausdrücke schneller und mühelos erstellen können. Diese Website umfasst ein Formular mit mehreren Einträgen.

Der Benutzer muss alle wesentlichen Felder in den Formularen ausfüllen. In den Feldern können Sie den Wert für den Befehl syntax gemäß Ihren Anforderungen auswählen:

Dann gibt dieses Crontab -Generator -Tool einen Befehl im folgenden Abschnitt aus. Kopieren Sie den Befehl generiert, fügen Sie ihn in Ihre Crontab -Datei ein und Sie sind fertig!

Crontab Guru:

Diese Website ist angepasst, um Beispiele für Cronjobs zu liefern. Sie müssen nur Ihre Informationen auf der Website eingeben, und es generiert in wenigen Minuten die Crontab -Syntax.

Cronmaker:

Es ist eine andere Website, die auch auf dem Zweck der Generierung von Cronjob -Befehlssyntax basiert:

Grafische Frontendungen für Crontab:

Einige Front-End-Dienstprogramme von Crontab sind zum Erstellen von Cron-Aufgaben mithilfe einer grafischen Benutzeroberfläche verfügbar. Für das Verwalten oder Hinzufügen von Cron -Aufgaben müssen die Crontab -Datei nicht über die Befehlszeile aktualisiert werden. Diese Werkzeuge machen das Management von Cronjobs zum Kinderspiel!

Zeit:

Zeit ist eine Freeware -Anwendung, die in der Computersprache C ++ erstellt wurde. Unter der GPLV3 -Lizenz ist der Quellcode dieser Anwendung auf GitHub zugegriffen. Es basiert auf QT “Crontab" Und "bei”Befehl Front-End. Wir können Zeit für die folgenden Aufgaben verwenden:

  • Fügen Sie Crontab -Jobs hinzu, ändern und zu entfernen.
  • Umgebungsvariablen von Crontab zu löschen, zu bearbeiten oder hinzuzufügen.
  • Alarme und Timer einstellen.

Crontab UI:

Crontab UI ist eine webbasierte Lösung zum Verwalten von Cronjobs in Linux mit Leichtigkeit und Sicherheit. Sie müssen die Crontab -Datei nicht manuell bearbeiten, um Cron -Aufgaben zu erstellen, zu löschen und zu verwalten. Mit ein paar Mausklicks können Sie in diesem Webbrowser alles tun. Die Crontab UI macht es einfach, Cron -Aufgaben zu erstellen, zu bearbeiten, anzuhalten, zu entfernen und zu sichern. Es spielt auch seine Rolle beim Import, Exportieren und Einsatz von Cronjobs für andere Maschinen.

Abschluss:

Cron ist ein vielseitiges und leistungsfähiges Tool, das Ihnen bei einer Vielzahl von Aufgaben der Systemverwaltung helfen kann. Sie können Vorgänge automatisieren, die normalerweise mit Shell -Skripten kompliziert sind. Dieser Artikel umfasst einen vollständigen Crontab -Leitfaden für Anfänger, in dem alles diskutierte, einschließlich Crontab Working, deren Verwendung, der Installation von CentOs, praktischen Beispielen für Cronjobs und Crontab -Syntaxgeneratoren.