GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Was ist ein Cronjob unter Linux

Cron ist ein Daemon, der die Aufgaben im Systemhintergrund ausführt. Die für die spätere Ausführung geplanten Aufgaben werden als „Cron Jobs“ bezeichnet “. Cron-Jobs gelten als ideal für wiederkehrende Aufgaben wie das regelmäßige Erstellen von System-Backups. Linux-Benutzer können ihre üblichen Aufgaben stündlich, täglich, wöchentlich, monatlich oder jährlich automatisieren, indem sie Cron-Jobs verwenden. Um die Cron-Jobs zu verfolgen, müssen „Crontab-Dateien “ verwendet werden, die benutzerspezifisch sein können oder systemweite Cron-Jobs haben können.

Dieser Artikel führt Sie zu Cron-Jobs und ihren Typen. Darüber hinaus zeigen wir Ihnen auch einige Beispiele für Cron-Jobs und das Verfahren zum Auflisten und Entfernen von Cron-Jobs aus der Crontab-Datei. Also, fangen wir an!

Was ist ein Cron-Job in Linux

Cron Die Daemon-Funktionalität in Linux ähnelt der von Services in Windows, und beide werden verwendet, um Aufgaben zu planen, die zu einem bestimmten Zeitpunkt im Systemhintergrund ausgeführt werden. Cronjobs werden hauptsächlich verwendet, um Ihren Systemcache regelmäßig zu bereinigen oder eine Sicherungskopie der Protokolldateien und Datenbanken zu erstellen. Wohingegen die crontab-Datei alle Cron-Jobs des Systems umfasst und auch eine spezifische Syntax zum Schreiben der Befehle hat.

Syntax des Crontab-Befehls in Linux

Die beim Schreiben eines crontab-Befehls zu befolgende Syntax ist unten angegeben:

* * * * * [Command or Script]

Hier:

  • Das erste Sternchen * steht für „Minute
  • Das zweite Sternchen * steht für „Stunde
  • Das dritte Sternchen * steht für „Tag des Monats
  • Das vierte Sternchen * steht für „Monat
  • Das fünfte und letzte Sternchen * steht für „Wochentag

Überprüfen Sie nun die Werte der oben genannten Felder:

Cron-Job-Befehle in Linux

Hier sind einige Cron-Jobs-Befehle, die Sie in Ihrem Linux-Terminal verwenden können:

Befehl Beschreibung
crontab -a Das „crontab -a “-Befehl wird zum Erstellen einer benutzerspezifischen Crontab-Datei verwendet. Sie müssen den „Dateinamen“ angeben “ in diesem Befehl nach dem Hinzufügen von „-a ”-Option.
crontab -r Die Datei „crontab -r ”-Befehl wird zum Löschen der Crontab-Datei verwendet.
crontab -e Das „crontab -e ”-Befehl wird zum Bearbeiten der bereits erstellten crontab-Datei verwendet.
crontab -v Die Datei „crontab -v “-Befehl wird verwendet, um die Änderungszeit der Crontab-Datei anzuzeigen.
crontab -l Das „crontab -l ”-Befehl wird verwendet, um den Inhalt der crontab-Datei anzuzeigen.

So überprüfen Sie den Cron-Dienst unter Linux

Stellen Sie vor dem Starten des Crob-Jobs sicher, dass „cron.service “ ist derzeit auf Ihrem Linux-System aktiv. Führen Sie dazu das unten angegebene „systemctl“ aus ” Befehl:

$ sudo systemctl status cron.service

Die unten angegebene Ausgabe deklariert diesen cron.service ist „aktiv ” und läuft auf unserem System:

Falls der „cron.service “ auf Ihrem Linux-System inaktiv ist, führen Sie den folgenden Befehl aus, um es zu starten:

$ sudo systemctl start cron.service

Typen der Cron-Jobs in Linux

Cron-Jobs bestehen hauptsächlich aus zwei Arten:systemweit Cronjobs und Benutzerspezifisch Zeitgesteuerte Aufgaben. Im folgenden Abschnitt erläutern wir den Unterschied zwischen beiden Typen und den zugehörigen Cron-Job-Dateien.

Was sind systemweite Cron-Jobs in Linux

Cron-Jobs werden nur vom Systemadministrator aufgerufen und sind als systemweite Cron-Jobs bekannt. Diese Cron-Jobs finden Sie im Verzeichnis „/etc/cron.d “-Verzeichnis und „/etc/crontab " Datei. Diese Crontab-Dateien werden über „/etc/cron.daily“ ausgeführt “, „/etc/hourly “, „/etc/cron.monatlich “ und „/etc/cron.weekly “.

Wenn Sie ein Systemadministrator sind, können Sie die Datei „/etc/crontab bearbeiten ”-Datei in Ihrem Nano-Editor zum Definieren von Cron-Jobs:

$ sudo nano /etc/crontab

Was sind benutzerspezifische Cron-Jobs in Linux

Die benutzerspezifischen Cron-Jobs sind die Arten von Cron-Jobs, die für einen bestimmten Benutzer definiert sind. Diese Arten von Cron-Jobs befinden sich in der Datei „/var/spool/cron/crontabs/ " Verzeichnis. Sie können die angegebenen Cron-Job-Dateien manuell bearbeiten; es wird jedoch empfohlen, das „crontab -e“ zu verwenden ”-Befehl, um den Bearbeitungsvorgang auszuführen:

$ crontab -e

Die Ausführung der Datei „crontab “-Befehl mit dem „-e “ Option zeigt Ihnen drei Optionen zum Bearbeiten der Cron-Job-Datei. Wir haben „1 ausgewählt ” da es einfach ist, Dateien im Nano-Editor zu bearbeiten:

Ihre benutzerdefinierte Crontab-Datei sieht irgendwie so aus:

Beispiele für Cron-Jobs in Linux

In diesem Abschnitt zeigen wir Ihnen einige der Cron-Job-Beispiele, die Ihnen helfen können, die Entstehung der Cron-Jobs zu verstehen.

Hinweis: Alle Skripte, die in den unten angegebenen Beispielen verwendet werden, werden manuell erstellt.

Beispiel 1: Der folgende crontab-Befehl wird in der crontab-Datei zum Ausführen der Datei „/root/backup.sh hinzugefügt ”-Skript nach jeweils 40 Minuten:

40 * * * * /root/backup.sh

Nachdem Sie den crontab-Befehl eingegeben haben, drücken Sie „STRG+O ” um die hinzugefügten Änderungen zu speichern:

Beispiel 2: Im zweiten Beispiel schreiben wir einen crontab-Befehl, der die Datei „filescript.sh“ ausführt ” um 17:00 Uhr am 10. Mai, August, September und Oktober:

00 05 10 5,8,9,10 * /usr/local/bin/filescript.sh

Beispiel 3: Der folgende crontab-Befehl führt die Datei „filescript.sh aus ” Skript jeden Samstag um 22:00 Uhr:

0 10 * * sat  /scripts/filescript.sh

Beispiel 4: Sie können im crontab-Befehl auch mehrere Tage angeben. Um beispielsweise unsere Datei „filescript.sh auszuführen ”-Skript jeden Sonntag und Freitag um 16:00 Uhr schreiben wir diesen crontab-Befehl:

0 04 * * sun,fri  /script/filescript.sh

Beispiel 5: Im folgenden Beispiel haben wir eine Bedingung hinzugefügt, die hilft, die Datei „/scripts/filescript.sh auszuführen ” Datei alle 30 Sekunden:

* * * * * /scripts/filescript.sh
* * * * *  sleep 30; /scripts/filescript.sh

Beispiel 6: Sie können auch spezielle Cron-Job-Strings verwenden, um Jobs zu planen. Beispiel:„@daily “ wird am Anfang des crontab-Befehls hinzugefügt, um einen Cron-Job zu planen, der jeden Tag ausgeführt wird:

@daily /scriptdir/filescript.sh

Angabe von „@yearly “ im folgenden Befehl führt die Datei „filescript.sh“ aus ” Skript auf jährlicher Basis:

@yearly /scriptdir/filescript.sh

Um einen Cron-Job zu planen, der die „filescript.sh “-Skriptdatei einmal pro Woche hinzufügen, fügen Sie die Datei „@weekly ” Zeichenfolge am Anfang des crontab-Befehls:

@weekly /scriptdir/filescript.sh

Ebenso können Sie „@hourly verwenden “ und „@monatlich ” Zeichenfolgen zum Planen der Ausführung der Cron-Jobs einmal pro Stunde bzw. einmal im Monat.

Beispiel 7: Sie können in der geöffneten Datei auch Cron-Jobs für einen bestimmten Benutzer definieren. Sehen Sie sich dazu die unten angegebene Syntax an:

*****  [Username] [Script_name]

Hier erstellen wir einen Cron-Job, der die „Skriptdatei ausführt “ in unserem Home-Verzeichnis für die Datei „linuxfoss ” Benutzer alle 20 Minuten:

20 * * * * linuxfoss scriptfile

Beispiel 8: Möchten Sie ein Backup aller Ihrer Benutzerkonten ausführen? Mit Hilfe des crontab-Befehls können Sie eine Systemsicherung planen. Beispielsweise erstellt der unten angegebene crontab-Befehl einen Cron-Job, um die Benutzerkonten jede Woche um 6 Uhr morgens zu sichern:

 0 6 * * 1 tar -zcf /var/backups/home.tgz /home/

Drücken Sie „STRG+O ” um die Befehle in die Crontab-Datei zu schreiben und dann den Nano-Editor zu verlassen:

Wie man Cron-Jobs unter Linux auflistet

Das Auflisten von Cron-Jobs im Terminal ist nützlich, wenn Sie alle Cron-Jobs auf einmal anzeigen möchten. Zu diesem Zweck können Sie das „-l hinzufügen “-Option in der „crontab ” Befehl und führen Sie ihn dann auf Ihrem Linux-Terminal wie folgt aus:

$ crontab -l

In unserer crontab-Datei haben wir nur den Cron-Job zum Erstellen eines Backups für alle Benutzerkonten gespeichert, der auch in der Ausgabe zu sehen ist:

So erstellen Sie ein Backup von Cron-Jobs in Linux

Wir haben Ihnen die Auflistung der Cron-Jobs mit Hilfe des „crontab“ gezeigt " Befehl. Sie können die Ausgabe von „crontab -l auch umleiten ” in eine bestimmte Datei, um ein Backup der hinzugefügten Cron-Jobs zu erstellen. Das STDOUT oder der Umleitungsoperator „> “ kann verwendet werden, um die angegebene Operation auszuführen:

$ crontab -l > backupfile.txt

Geben Sie nun die „Katze“ ein ”-Befehl mit dem Namen Ihrer Cron-Job-Sicherungsdatei, um deren Inhalt anzuzeigen:

$ cat backupfile.txt

So entfernen Sie Cron-Jobs unter Linux

Das „-r “-Option wird dem Crontab-Befehl hinzugefügt, um die Cron-Jobs aus der Crontab-Datei zu entfernen. Zusätzlich können Sie das „-i hinzufügen ”-Option, um den Benutzer zum Löschen der Cron-Jobs aufzufordern:

$ crontab -i -r

Um Cron-Jobs ohne Aufforderung zu entfernen, führen Sie das einfache „crontab -r aus “ Befehl, und Sie sind fertig!

$ crontab -r

Schlussfolgerung

Die Planung und Automatisierung sich wiederholender Prozesse steigert die Produktivität in einem Linux-basierten System und reduziert gleichzeitig die manuelle Überwachung und Benutzerunterbrechungen. Es gibt riesige Programme, die helfen, Aufgaben zu planen; die „Cron “ wird am häufigsten verwendet. In der crontab-Datei fügen wir unsere Cron-Jobs hinzu, indem wir die „Cron ” Dämon. In diesem Artikel wurden die Syntax von Cron-Jobs, verwandte Befehle und Cron-Jobs-Typen erläutert. Darüber hinaus haben wir auch einige Beispiele für Cron-Jobs demonstriert, die Ihnen helfen können, die Crontab-Befehlsstruktur zu verstehen.


Debian
  1. 4 Alternativen zu Cron unter Linux

  2. Wie ich Cron unter Linux verwende

  3. Was ist ein Linux-Benutzer?

  4. Was ist JingOS Linux?

  5. Linux:Cronjob im Vordergrund ausführen

Geplante Cron-Jobs

Was ist die Login-Shell in Linux?

Was ist Load Average in Linux?

Was ist eine .bashrc-Datei unter Linux?

Linux Crontab:15 fantastische Cron-Job-Beispiele

Cron Vs Anacron:So richten Sie Anacron unter Linux ein (mit einem Beispiel)