Detaillierte Erläuterung des geplanten Ausführungsbefehls von Crontab unter Linux

Detaillierte Erläuterung des geplanten Ausführungsbefehls von Crontab unter Linux

Unter LINUX werden periodische Aufgaben normalerweise vom Cron-Daemon-Prozess [ps -ef | grep cron] ausgeführt. Cron liest eine oder mehrere Konfigurationsdateien, die Befehlszeilen und die Zeiten enthalten, zu denen sie aufgerufen werden.

Die Cron-Konfigurationsdatei heißt „crontab“, die Abkürzung für „Cron Table“.

1. Cron-Dienst

Cron ist ein Tool zur geplanten Ausführung unter Linux, das Jobs ohne menschliches Eingreifen ausführen kann.
service crond start //Starten Sie den Dienst
service crond stop //Den Dienst beenden
service crond restart //Dienst neu starten
service crond reload //Konfiguration neu laden
service crond status //Dienststatus prüfen

2. Cron sucht an 3 Orten nach Konfigurationsdateien:

1. /var/spool/cron/ Dieses Verzeichnis speichert Crontab-Aufgaben für jeden Benutzer, einschließlich Root. Jede Aufgabe ist nach dem Ersteller benannt. Beispielsweise entspricht die von Tom erstellte Crontab-Aufgabe der Datei /var/spool/cron/tom. Im Allgemeinen hat ein Benutzer höchstens eine Crontab-Datei.

3. /etc/crontab Diese Datei ist für die Anordnung von Crontabs für die Systemwartung und andere vom Systemadministrator festgelegte Aufgaben verantwortlich.

SHELL=/bin/bash
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=Stamm
 HOME=/

# Weitere Einzelheiten finden Sie unter man 4 crontabs

# Beispiel einer Jobdefinition:
 # .---------------- Minute (0 - 59)
 # | .------------- Stunde (0 - 23)
 # | | .---------- Tag des Monats (1 - 31)
 # | | | .------- Monat (1 – 12) ODER Jan., Feb., März, Apr. …
 # | | | | .---- Wochentag (0 - 6) (Sonntag=0 oder 7) ODER So, Mo, Di, Mi, Do, Fr, Sa
 # | | | | |
 # * * * * * Benutzername-Befehl, der ausgeführt werden soll 

•MAILTO=root: Das bedeutet, wenn bei einem Routinebefehl in der Datei /etc/crontab ein Fehler auftritt, an wen wird die Fehlermeldung oder die auf dem Bildschirm angezeigte Nachricht gesendet? Da root keine E-Mails clientseitig empfangen kann, ändere ich diese E-Mail meist auf mein eigenes Konto, damit ich immer über den Status des Systems informiert bin!
•01 * * * * root run-parts /etc/cron.hourly: In den Befehlen nach der Zeile #run-parts können wir feststellen, dass auf die fünf Zahlen root folgt. Diese Zeile bedeutet „die Ausführungsebene ist die Root-Identität.“ Natürlich können Sie diese Zeile auch in andere Identitäten ändern! Und „run-parts“ bedeutet, dass das folgende /etc/cron.hourly „alle ausführbaren Dateien in einem Verzeichnis (/etc/cron.hourly)“ ist, d. h., zur 01. Minute jeder Stunde führt das System alle ausführbaren Dateien im Verzeichnis /etc/cron.hourly als Root aus! Die folgenden drei Zeilen haben ähnliche Bedeutungen! Du kannst in /etc/ nachschauen. Diese vier Verzeichnisse sind im System bereits voreingestellt! Sie können die Befehle, die Sie täglich ausführen müssen, direkt in /etc/cron.daily schreiben und müssen das Programm crontab -e nicht verwenden!

4. /etc/cron.d/ Dieses Verzeichnis wird zum Speichern aller auszuführenden Crontab-Dateien oder Skripte verwendet.

5. Berechtigungen (?)

Crontab-Berechtigungsproblem Gehen Sie zu /var/adm/cron/ und prüfen Sie, ob die Dateien cron.allow und cron.deny vorhanden sind
Die Verwendung ist wie folgt:

1. Wenn beide Dateien nicht vorhanden sind, kann nur der Root-Benutzer den Crontab-Befehl verwenden.
2. Wenn cron.allow vorhanden ist, cron.deny jedoch nicht, können nur die in der Datei cron.allow aufgeführten Benutzer den Befehl crontab verwenden. Wenn der Root-Benutzer nicht darin enthalten ist, kann der Root-Benutzer crontab nicht verwenden.
3. Wenn cron.allow nicht vorhanden ist, cron.deny jedoch vorhanden ist, können nur die in der Datei cron.deny aufgeführten Benutzer den Befehl crontab nicht verwenden, während andere Benutzer ihn verwenden können.
4. Wenn beide Dateien vorhanden sind, können Benutzer, die in der Datei cron.allow, aber nicht in cron.deny aufgeführt sind, crontab verwenden. Wenn derselbe Benutzer in beiden Dateien vorhanden ist, hat der Benutzer in der Datei cron.allow Vorrang. Wenn der Benutzer in cron.allow vorhanden ist, kann der Befehl crontab verwendet werden.

Unter AIX haben normale Benutzer standardmäßig Crontab-Berechtigungen. Wenn Sie die Verwendung von Crontab durch Benutzer einschränken möchten, müssen Sie /var/adm/cron/cron.deny bearbeiten.
Unter HP-UNIX haben normale Benutzer standardmäßig keine Crontab-Berechtigungen. Um normalen Benutzern Crontab-Berechtigungen zu erteilen, können Sie Folgendes bearbeiten:

6. Erstellen Sie ein Cron-Skript

Schritt 1: Schreiben Sie eine Cron-Skriptdatei und nennen Sie sie crontest.cron.
15,30,45,59 * * * * echo "xgmtest...." >> xgmtest.txt bedeutet, dass der Druckbefehl alle 15 Minuten ausgeführt wird. Schritt 2: Fügen Sie eine geplante Aufgabe hinzu. Führen Sie den Befehl „crontab crontest.cron“ aus. Führen Sie den dritten Schritt aus: „crontab -l“, um zu prüfen, ob die geplante Aufgabe erfolgreich war, oder ob das entsprechende Cron-Skript in /var/spool/cron generiert wurde.

Hinweis: Dieser Vorgang ersetzt direkt die Crontab des Benutzers, anstatt eine neue hinzuzufügen

7. Crontab-Nutzung

Mit dem Befehl crontab können Sie die Tabellen installieren, entfernen oder auflisten, die zum Ausführen des Cron-Daemons verwendet werden. Der Benutzer trägt die auszuführende Befehlsfolge in die Crontab-Datei ein, um sie ausführen zu lassen.
Jeder Benutzer kann seine eigene Crontab-Datei haben. Die Crontab-Datei in /var/spool/cron kann nicht direkt erstellt oder geändert werden. Die Crontab-Datei wird mit dem Befehl crontab erstellt.

So geben Sie die Befehle und die Ausführungszeit in die Crontab-Datei ein. Jede Zeile in dieser Datei umfasst sechs Felder, die ersten fünf Felder geben den Zeitpunkt an, zu dem der Befehl ausgeführt werden soll, und das letzte Feld ist der auszuführende Befehl.
Die einzelnen Felder sind durch Leerzeichen oder Tabulatoren getrennt. Das Format ist wie folgt:
Minute Stunde Tag des Monats Monat des Jahres Tag der Woche Befehle
Gesetzliche Werte: 00-59 00-23 01-31 01-12 0-6 (0 ist Sonntag)
Neben Zahlen gibt es mehrere Sonderzeichen, nämlich "*", "/", "-", "", "*" steht für alle Zahlen innerhalb des Wertebereichs, "/" bedeutet jede, "/5" bedeutet alle 5 Einheiten, "-" steht für von einer bestimmten Zahl bis zu einer bestimmten Zahl und "," trennt mehrere diskrete Zahlen.

-l Zeigt die aktuelle Crontab in der Standardausgabe an.
-r Löscht die aktuelle Crontab-Datei.
-e Bearbeiten Sie die aktuelle Crontab-Datei mit dem durch die Umgebungsvariable VISUAL oder EDITOR angegebenen Editor. Wenn Sie mit der Bearbeitung fertig sind und das Programm beenden, wird die bearbeitete Datei automatisch installiert.

8. Beispiele:

Jeden Morgen um 6:00 Uhr

0 6 * * * echo „Guten Morgen.“ >> /tmp/test.txt //Beachten Sie, dass Sie mit Echo allein keine Ausgabe auf dem Bildschirm sehen können, da cron alle Ausgaben per E-Mail an die Mailbox von root sendet.

Alle zwei Stunden

0 */2 * * * echo "Machen Sie jetzt eine Pause." >> /tmp/test.txt

Alle zwei Stunden zwischen 23 Uhr und 8 Uhr und um 8 Uhr

0 23-7/2,8 * * * echo "Träum schön" >> /tmp/test.txt

Immer am 4. des Monats und jeden Montag bis Mittwoch um 11:00 Uhr

0 11 4 * 1-3 Befehlszeile

1. Januar, 4 Uhr

0 4 1 1 * Kommandozeile SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //Wenn ein Fehler auftritt oder Daten ausgegeben werden, werden die Daten als E-Mail an dieses Konto gesendet HOME=/

Führen Sie das Skript stündlich in /etc/cron.hourly aus

01 * * * * root-run-parts /etc/cron.hourly

Führen Sie das Skript jeden Tag in /etc/cron.daily aus

02 4 * * * root-Ausführungsteile /etc/cron.daily

Führen Sie das Skript jede Woche in /etc/cron.weekly aus

22 4 * * 0 root-Ausführungsteile /etc/cron.weekly

Führen Sie das Skript jeden Monat in /etc/cron.monthly aus

42 4 1 * * root-Ausführungsteile /etc/cron.monthly

Hinweis: Der Parameter „run-parts“. Wenn Sie diesen Parameter entfernen, können Sie anstelle des Ordnernamens den Namen eines auszuführenden Skripts schreiben.

Führen Sie den Befehl täglich um 16, 17 und 18 Uhr um 5, 15, 25, 35, 45 und 55 Minuten aus.

5, 15, 25, 35, 45, 55, 16, 17, 18 * * * Befehl

Das System wechselt in den Wartungsmodus und wird jeden Montag, Mittwoch und Freitag um 15:00 Uhr neu gestartet.

00 15 * * 1,3,5 Herunterfahren -r +5

Führen Sie jeweils um 10 und 40 Minuten nach der vollen Stunde den Befehl innd/bbslin im Benutzerverzeichnis aus:

10,40 * * * * innd/bbslink

Führen Sie stündlich im Abstand von 1 Minute den Befehl „bin/account“ im Benutzerverzeichnis aus:

1 * * * * Behälter/Konto

Führen Sie jeden Morgen um 3:20 Uhr die folgenden beiden Befehle im Benutzerverzeichnis aus (jeder Befehl ist durch ; getrennt):

20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)

Führen Sie im Januar und April eines jeden Jahres, jeweils am 4. bis 9., um 3:12 und 3:55 Uhr den Befehl /bin/rm -f expire.1st aus und fügen Sie das Ergebnis der Datei mm.txt hinzu (die Datei mm.txt befindet sich im eigenen Verzeichnis des Benutzers).

12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt

Zusammenfassen

Oben finden Sie eine ausführliche Erklärung des Crontab-Befehls zur geplanten Ausführung von Aufgaben unter Linux, die vom Herausgeber vorgestellt wurde. Ich hoffe, dass sie für alle hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Verwenden Sie den Crontab-Befehl in der Linux-Umgebung, um geplante periodische Ausführungsaufgaben einzurichten [einschließlich PHP-Ausführungscode].
  • Lösung für die zeitliche Steuerung der Linux-Crontab-Ausführung von Shell-Skripten, wenn bestimmte Befehle ausgeführt werden müssen
  • Detaillierte Erklärung und Zusammenfassung der Verwendung des Crontab-Befehls für geplante Linux-Aufgaben
  • Regelmäßiges Ausführen von Befehlen und Skripten unter Linux (cron, crontab, anacron)
  • Detaillierte Erläuterung der at- und crontab-Befehle zur geplanten Ausführung von Aufgaben in Linux
  • Linux Crontab-Befehle starten, ausführen und bearbeiten
  • Linux-Crontab-Befehlsformat und ausführliche Beispiele (empfohlen)
  • Verwendung des Linux-Crontab-Befehls

<<:  Vue führt eine Überprüfung durch, ob der Benutzername verfügbar ist

>>:  Verwenden Sie Node-Media-Server, um einen einfachen Streaming-Media-Server zu erstellen

Artikel empfehlen

Ein IE-Absturzfehler

Code kopieren Der Code lautet wie folgt: <styl...

Einführung in das Layout des HTML-Seitenquellcodes_Powernode Java Academy

Einführung in das Layout des HTML-Seitenquellcode...

Sorgen Sie für eine schnelle Website

Ist Leistung wirklich wichtig? Leistung ist wicht...

Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele

Detaillierte Erläuterung der MySQL-Existes- und N...

Detaillierte Erläuterung des Linux-CRM-Bereitstellungscodes

Linux-Grundkonfiguration Kompilieren und installi...

So löschen Sie den MySQL 8.0-Dienst vollständig unter Linux

Bevor Sie diesen Artikel lesen, sollten Sie sich ...

Implementierung der Docker-Bereitstellung von Tomcat- und Webanwendungen

1. Docker online herunterladen yum install -y epe...

Installation und Verwendung von MySQL unter Ubuntu (allgemeine Version)

Unabhängig von der verwendeten Ubuntu-Version ist...

js realisiert 3D-Soundeffekte durch audioContext

In diesem Artikel wird der spezifische Code von j...

Nginx implementiert ein Codebeispiel für die https-Websitekonfiguration

https-Basisport 443. Er wird für etwas verwendet,...

MySQL-Komplettabsturz: Detaillierte Erklärung der Abfragefilterbedingungen

Überblick In tatsächlichen Geschäftsszenarioanwen...

Iframe-Parameter mit Anweisungen und Beispielen

<iframe src=”test.jsp” Breite=”100″ Höhe=”50″ ...