Website-Suche

11 Beispiele für Cron-Planungsaufgaben unter Linux


In diesem Artikel werden wir untersuchen und sehen, wie wir mit dem Befehl Crontab Linux-Aufgaben in regelmäßigen Abständen automatisch im Hintergrund planen und ausführen können.

Die manuelle Bearbeitung einer häufigen Aufgabe ist für Systemadministratoren eine entmutigende Aufgabe. Solche Aufgaben können mithilfe des Cron-Daemons in Linux oder Unix-ähnlichen Betriebssystemen automatisch im Hintergrund geplant und ausgeführt werden, ohne dass ein menschliches Eingreifen erforderlich ist.

Mit dem Cron-Daemon, der zum Ausführen geplanter Aufgaben über die Befehlszeile verwendet wird, können Sie beispielsweise Linux-Systemsicherungen automatisieren, Aktualisierungen planen, Dateien synchronisieren und vieles mehr oder nutzen Sie Online-Tools, um Cron-Jobs zu generieren.

Cron wacht jede Minute auf und überprüft geplante Aufgaben auf zählbare Weise – Crontab (CRON TABle) ist eine Tabelle, in der wir solche sich wiederholenden Aufgaben planen können .

Tipps: Jeder Benutzer kann seine eigene Crontab haben, um Aufgaben zu erstellen, zu ändern und zu löschen. Standardmäßig ist cron für Benutzer aktiviert. Wir können die Benutzer jedoch einschränken, indem wir einen Eintrag in der Datei /etc/cron.deny hinzufügen.

Crontab unter Linux

Die Crontab-Datei besteht aus Befehlen pro Zeile und hat eigentlich sechs Felder, die entweder durch Leerzeichen oder Tabulator getrennt sind. Die ersten fünf Felder stellen die Zeit zum Ausführen von Aufgaben dar und das letzte Feld ist für Befehle vorgesehen.

  • Minute (Werte zwischen 0-59 halten)
  • Stunde (Werte zwischen 0-23 halten)
  • Tag des Monats (Werte zwischen 1-31 halten)
  • Der Monat des Jahres (Werte zwischen 1-12 oder Jan-Dez enthalten, Sie können die ersten drei Buchstaben des Monatsnamens verwenden, z. B. Jan oder Jun<)..)
  • Wochentag (halten Sie Werte zwischen 0-6 oder Sun-Sat). Hier können Sie auch die ersten drei Buchstaben des Namens jedes Tages verwenden, z. B. Sun oder Wed<. )
  • Befehl – Der /Pfad/zu/Befehl oder Skript, das/den Sie planen möchten.

1. Crontab-Einträge auflisten

Listen Sie die Aufgabe auf oder verwalten Sie sie mit dem Befehl crontab mit der Option -l für den aktuellen Benutzer.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Crontab-Einträge bearbeiten

Um den Crontab-Eintrag zu bearbeiten, verwenden Sie die unten gezeigte Option -e. Das folgende Beispiel öffnet geplante Jobs im VI-Editor. Nehmen Sie die erforderlichen Änderungen vor und hören Sie auf, die Tasten :wq zu drücken, die die Einstellung automatisch speichern.

crontab -e

3. Listen Sie geplante Cron-Jobs des Benutzers auf

Um geplante Jobs eines bestimmten Benutzers namens tecmint aufzulisten, verwenden Sie die Option -u (Benutzer) und -l (Liste).

crontab -u tecmint -l

no crontab for tecmint

Hinweis: Nur root-Benutzer verfügen über vollständige Berechtigungen, um die Crontab-Einträge anderer Benutzer anzuzeigen. Normale Benutzer können andere nicht sehen.

4. Crontab-Eintrag entfernen

Achtung: Crontab mit dem Parameter -r entfernt vollständige geplante Jobs ohne Bestätigung von Crontab. Verwenden Sie die Option -i, bevor Sie die Crontab des Benutzers löschen.

crontab -r

5. Vor dem Löschen von Crontab auffordern

crontab mit -i Die Option fordert Sie zur Bestätigung des Benutzers auf, bevor die Crontab des Benutzers gelöscht wird.

crontab -i -r

crontab: really delete root's crontab?

6. Erlaubte Sonderzeichen (*, -, /, ?, #)

  • Sternchen(*) – Entspricht allen Werten im Feld oder jedem möglichen Wert.
  • Bindestrich (-) – Zum Definieren eines Bereichs.
  • Schrägstrich (/) – 1. Feld /10, d. h. alle zehn Minuten oder Bereichserhöhung.
  • Das Komma (,) – zum Trennen von Elementen.

7. Systemweiter Cron-Zeitplan

Ein Systemadministrator kann das vordefinierte Cron-Verzeichnis wie unten gezeigt verwenden.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

8. Planen Sie einen Job für eine bestimmte Zeit

Die folgenden Jobs löschen täglich um 12:30 leere Dateien und Verzeichnisse aus /tmp. Sie müssen den Benutzernamen angeben, um den Crontab-Befehl auszuführen. Im folgenden Beispiel führt der Benutzer root einen Cron-Job aus.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. Spezielle Zeichenfolgen für den gemeinsamen Zeitplan

@reboot

Der Befehl wird ausgeführt, wenn das System neu startet.

@daily

Einmal pro Tag oder unter Verwendung von @midnight.

@weekly

Einmal pro Woche.

@yearly

Einmal pro Jahr. Wir können auch das Schlüsselwort @annually verwenden.

Wenn Sie dasselbe verwenden möchten, müssen Sie fünf Felder des Cron-Befehls durch Schlüsselwörter ersetzen.

10. Mehrere Befehle mit doppeltem kaufmännischen Und-Zeichen (&&)

Im folgenden Beispiel werden Befehl1 und Befehl2 täglich ausgeführt.

crontab -e

@daily <command1> && <command2>

11. Deaktivieren Sie E-Mail-Benachrichtigungen.

Standardmäßig sendet Cron E-Mails an das Benutzerkonto, das den Cronjob ausführt. Wenn Sie es deaktivieren möchten, fügen Sie Ihren Cron-Job ähnlich wie im folgenden Beispiel hinzu. Durch die Verwendung der Option >/dev/null 2>&1 am Ende der Datei wird die gesamte Ausgabe der Cron-Ergebnisse unter /dev/null umgeleitet.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

Schlussfolgerung: Die Automatisierung von Aufgaben kann uns dabei helfen, unsere Aufgaben besser, fehlerfrei und effizient auszuführen. Weitere Informationen finden Sie in einer Handbuchseite von crontab, indem Sie den Befehl „man crontab“ in Ihr Terminal eingeben.