In diesem Tutorial bieten wir Ihnen die grundlegende Einführung von allem, was Sie für die Planung eines Jobs bei Cron verstehen müssen. Dies beinhaltet die grundlegende Syntax von Cron, Bearbeitung von Crontab -Datei, planen Sie einen Job bei Cron mit wenigen Beispielen, Cron -Job anzeigen usw.
Grundlagen des Cron -Jobs
Lassen Sie uns einige Grundlagen eines Cron -Jobs verstehen.
Was ist Crond?
Crond ist der Daemon im Linux -System, der im Hintergrund ausgeführt wird und jede Minute überprüft, um zu sehen, ob zu diesem Zeitpunkt irgendwelche Jobs geplant sind. Wenn ja, erledigt es diesen Job, sonst bleibt er inaktiv.
Cron Jobsyntax
Die Syntax für Cron Job lautet wie folgt:
* * * * * Befehl/Skript
Von links:
Um mehrere Werte in einem Feld anzugeben, verwenden Sie die folgenden Operatorsymbole:
Bearbeitung von Crontab -Datei
Crontab ist eine Datei, die die geplanten Jobs in einer bestimmten Syntax enthält. Es gibt zwei Arten von Crontab -Dateien; eine für systemspezifische Cron-Jobs und die andere für benutzerspezifische Cron-Jobs.
System Cron Jobs
Die systemweiten Cron-Jobs befinden sich in der /etc/crontab Datei und /etc/cron.D Verzeichnis, und sie werden durchlaufen /etc/cron.stündlich, /etc/cron.täglich, /etc/cron.wöchentlich Und /etc/cron.monatlich. Nur ein Systemadministrator kann auf diese Dateien zugreifen.
Ein Systemadministrator kann einen Cron -Job mit dem folgenden Befehl definieren:
$ nano /etc /crontab
Hier ist die Syntax des Jobs in der /etc/crontab Datei:
# Min HR HR Dayofmonth Month Dayof Week Benutzername Command
* * * * * user1 ifconfig
Benutzerspezifische Cron-Jobs
Die benutzerspezifischen Cron-Jobs befinden sich im / /var/spool/cron/crontabs Verzeichnis. Obwohl Sie diese Jobs manuell bearbeiten können, wird empfohlen, diese Jobs mit dem Befehl crontab -e zu bearbeiten.
Ein Standardbenutzer kann einen Cron -Job mit dem folgenden Befehl definieren:
$ crontab -e
Wenn Sie beispielsweise als "Test" -Nutzer angemeldet sind. Wenn Sie als Stammbenutzer angemeldet sind.
Geben Sie den folgenden Befehl im Terminal aus, um die Crontab -Datei für einen anderen Benutzer zu bearbeiten:
$ sudo crontab -u-e
Wenn Sie beispielsweise als "Test1" -Nutzer angemeldet sind und die Crontab -Datei für den Benutzer "test2" bearbeiten möchten, wäre der Befehl:
$ sudo crontab -u test2 -e
Hier ist die Syntax des Cron -Jobs, der in der Crontab -Datei hinzugefügt werden kann:
# M H Dayofmonth Month Dayofweek Command
* * * * * ifconfig
Sie können in benutzerspezifischen Jobs sehen, dass kein „Benutzername“ eingereicht wird.
Crontab -Befehle
Der Befehl crontab wird verwendet, um die Cron -Jobs zu bearbeiten, aufzulisten und zu entfernen:
Planen eines Jobs mit Cron
Mit Cron können Sie einen Job zu einem bestimmten Zeitpunkt, Datum und Intervallen mit einer minimalen Einheit in Minuten ausführen.e., Sie können jede Minute einen Job machen.
Öffnen Sie die Crontab -Datei mit der im vorherigen Abschnitt beschriebenen Methode, um einen Job bei Cron mit Cron zu planen. Sobald Sie die Crontab -Datei geöffnet haben, werden Sie aufgefordert, einen Texteditor auszuwählen. Geben Sie eine Nummer ein, um Ihren bevorzugten Texteditor auszuwählen. Scrollen Sie nach unten bis zum Ende der Datei und fügen Sie Jobs in die oben beschriebene Syntax hinzu. Jede Zeile in einer Datei gibt einen Befehl an. Die ersten fünf Einträge in der Zeile geben die geplante Zeit an, und der letzte Eintrag gibt an, welcher Befehl oder Skript ausgeführt werden soll.
Beispiel:
Die folgende Zeile in der Crontab-Datei plant den Cron-Job, um den Befehl/das Skript von Montag bis Samstag auf jeder 30. Minute nach 5 Stunden an jedem Woche auszuführen.
*/30 5 * * 1-6 Befehl/Skript
Protokoll
In diesem Feld geben wir die Minuten an, in denen der Befehl ausgeführt wird. Es ist von 0 bis 59 angegeben. Das * in diesem Bereich bedeutet, den Job jede Minute zu erledigen. In der obigen Crontab -Zeile gibt der */30 den Cron -Job an, den angegebenen Befehl/das angegebene Skript alle 30 Minuten auszuführen.
Std
In diesem Feld geben wir die Stunden an, in denen wir möchten, dass der Befehl ausgeführt wird. Es ist von 0 bis 23 angegeben. Das * in diesem Bereich bedeutet, den Job jede Stunde zu leiten. In der obigen Crontab -Zeile gibt der Wert 5 dem Cron -Job an, den angegebenen Befehl/Skript alle fünf Stunden auszuführen.
Monatstag
In diesem Bereich geben wir die jeweiligen Tage an Monaten an, an denen der Befehl ausgeführt wird. Es ist von 1 bis 31 angegeben. Das * in diesem Bereich bedeutet jeden Tag. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Tag auszuführen.
Monat des Jahres
In diesem Bereich geben wir die jeweiligen Monate an, in denen der Befehl ausgeführt wird. Es ist von 1 bis 12 angegeben. Das * in diesem Bereich bedeutet jeden Monat. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Monat auszuführen.
Wochentag
In diesem Bereich geben wir die jeweiligen Tage der Woche an, an denen wir möchten, dass der Befehl ausgeführt wird. Es wird von Sonntag bis Samstag von 0 bis 6 angegeben (0 für Sonntag und 6 für Samstag). Das * in diesem Bereich bedeutet jeden Tag in einer Woche. In der obigen Crontab -Linie sagt der * dem Cron -Job, den angegebenen Befehl/das angegebene Skript jeden Tag in einer Woche auszuführen.
Beispiele für Cron -Jobs
Hier sind einige Beispiele für Cron -Jobs:
Führen Sie alle 15 Minuten einen Cron -Job durch
Fügen Sie die folgende Zeile in die Crontab -Datei hinzu, um einen Cron -Job zu planen, der alle 15 Minuten ausgeführt werden soll:
*/15 * * * * Befehl/Skript
Führen Sie jeden Tag um 5 Uhr morgens einen Cron -Job durch
Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um einen Cron -Job zu planen, der jeden Tag um 5 Uhr morgens ausgeführt werden soll:
0 5 * * * Befehl/Skript
Führen Sie jeden Tag um 17 Uhr einen Cron -Job durch
Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um einen Cron -Job zu planen, der um 17 Uhr um 17.00 Uhr ausgeführt werden soll:
0 17 * * * Befehl/Skript
Führen Sie am ersten Tag eines jeden Monats um 9 Uhr morgens einen Cron -Job durch
Um einen Cron -Job zu planen, der am ersten Tag eines jeden Monats um 9 Uhr morgens ausgeführt wird, fügen Sie die folgende Zeile in die Crontab -Datei hinzu:
0 9 1 * * Befehl/Skript
Führen Sie jeden 15. März jede Stunde einen Cron -Job durch
Fügen Sie die folgende Zeile in der Crontab -Datei hinzu, um jeden 15. März einen Cron -Job zu vereinbaren:
0 * 15 3 * Befehl/Skript
Führen Sie alle 5 Stunden einen Cron -Job durch
Um alle 5 Stunden einen Cron -Job zu vereinbaren, fügen Sie die folgende Zeile in die Crontab -Datei hinzu:
0 */5 * * * * * Befehl/Skript
Führen Sie alle 15 Minuten einen Cron -Job durch
Fügen Sie die folgende Zeile in die Crontab -Datei hinzu, um einen Cron -Job zu planen, der alle 15 Minuten ausgeführt werden soll:
*/15 * * * *
Saiten verwenden
Die folgenden Zeichenfolgen können auch verwendet werden, um einen Job zu definieren:
Um beispielsweise jede Woche ein Skript oder Befehl auszuführen, wäre der Eintrag in der Crontab -Datei:
@weekly Command/Skript
Vordefinierte Cron -Verzeichnisse
Es gibt einige vordefinierte Cron-Verzeichnisse in Linux, in denen die gespeicherten Skripte automatisch ausgeführt werden. Wenn wir ein Skript unter diesen Verzeichnissen platzieren, wird es automatisch zum konfigurierten Zeitpunkt ausgeführt.
Um beispielsweise ein Skript einmal im Monat auszuführen, müssen Sie es in die /etc /cron platzieren.monatlich.
Cron Jobs anzeigen
Sehen Sie sich Jobs für den aktuellen Benutzer an
Verwenden Sie den folgenden Befehl, um alle geplanten Cron -Jobs für den aktuellen Benutzer anzuzeigen:
$ crontab -l
Sehen Sie sich Jobs für die Root -Benutzer an
Um alle geplanten Jobs des Stammbenutzers anzuzeigen, geben Sie den folgenden Befehl in Terminal aus:
$ cat /etc /crontab
Sie müssen sich als Root -Benutzer anmelden oder den Befehl als sudo ausführen.
Sehen Sie sich Jobs für die anderen Benutzer an
Wenn Sie alle geplanten Jobs eines bestimmten Benutzers angezeigt haben, geben Sie den folgenden Befehl im Terminal aus und ersetzen Sie den durch den tatsächlichen Benutzernamen:
$ sudo crontab -u-l
Um diesen Befehl auszuführen, benötigen Sie Sudo -Privilegien.
Stündliche Cron -Jobs anzeigen
Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie stündlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:
$ ls -la /etc /cron.stündlich
Daily Cron Jobs anzeigen
Um alle Cron -Jobs anzuzeigen, die für die tägliche Ausführung konfiguriert sind, geben Sie den folgenden Befehl im Terminal aus:
$ ls -la /etc /cron.täglich/
Weekly Cron Jobs anzeigen
Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie wöchentlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:
$ ls -la /etc /cron.wöchentlich/
Monatliche Cron -Jobs anzeigen
Um alle Cron -Jobs anzuzeigen, die so konfiguriert sind, dass sie monatlich ausgeführt werden, geben Sie den folgenden Befehl im Terminal aus:
$ ls -la /etc /cron.monatlich/
Sicherung aller Cron -Jobs
Es wird empfohlen, eine Sicherung aller Cron -Jobs in einer Datei zu behalten, damit Sie sich im Falle eines Löschens wiederherstellen können. Verwenden Sie den Umleitungsbetreiber, um die Ausgabe von Crontab -l zu einer Datei umzuleiten, um alle aktuellen Jobs zu sichern.
$ crontab -l> backup_cron.txt
Entfernen Sie alle geplanten Cron -Jobs
Um alle geplanten Cron -Jobs zu entfernen, verwenden Sie die -r -Flag wie folgt:
$ crontab -r
Cron -Erlaubnis
Wir können den Befehl Zugriff auf Crontab über zwei Dateien einschränken: / etc/cron.und / etc / cron erlauben.leugnen.
Crontab -Syntaxgeneratoren
Es gibt einige Websites, auf denen Syntax für Crontabs generiert werden kann. Diese Websites erleichtern es, den Krontab -Ausdruck zu erzeugen, ohne sich an die Syntax zu erinnern zu müssen. Obwohl für Syntaxgeneratoren wie Crontabgenerator verschiedene Websites verfügbar sind.com, Crontab-Generator.Org und Cronmaker.com. Der, den ich meistens hilfreich und fand hilfreich, ist der Crontab.Guru. Basierend auf Benutzereingaben generiert es einen Crontab-Ausdruck, den Sie in die Crontab-Datei kopieren können.
Abschluss
In diesem Tutorial haben wir die Grundlagen von Cron -Jobs, seiner Syntax und der Einrichtung erläutert. Wir haben auch besprochen, wie man Cron -Jobs sieht, ein Backup erstellt und sie entfernen, wenn sie nicht mehr benötigt werden.