So bearbeiten Sie die Linux-Crontab-Datei zum Planen von Jobs
Was Sie wissen sollten
- Zeigen Sie den Inhalt von crontab an mit: crontab -l
- Bearbeiten Sie die Crontab mit: crontab -e
- Die Zeitmessung funktioniert mit: Minute, Stunde, Monatstag, Monat, Wochentag. Verwenden Sie ein Sternchen (*), um cron jeden Tag, jede Stunde usw.
In diesem Artikel wird die Verwendung von cron erläutert, einem Daemon in Linux, der in regelmäßigen Abständen Prozesse ausführt. Es überprüft bestimmte Ordner auf einem System auf Skripte, die in einer Reihe von Ordnern ausgeführt werden sollen, einschließlich /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly; es gibt auch eine Datei namens /etc/crontab.
Skripte in Cron-Ordner platzieren
Platzieren Sie Skripte in den entsprechenden Ordnern, damit sie in regelmäßigen Abständen ausgeführt werden. Öffnen Sie beispielsweise ein Terminalfenster und führen Sie Folgendes aus: ls Befehl:
ls /etc/cron*
Der Befehl listet die Programme oder Skripte auf, die stündlich, täglich, wöchentlich und monatlich ausgeführt werden.

Diese Ordner sind vage. Zum Beispiel, Täglich bedeutet, dass das Skript einmal am Tag ausgeführt wird, Sie jedoch keine Kontrolle über die Zeit haben, zu der das Skript an diesem Tag ausgeführt wird.
Hier kommt die crontab-Datei ins Spiel. Durch Bearbeiten der crontab-Datei führen Sie ein Skript oder ein Programm genau zu dem gewünschten Datum und der gewünschten Uhrzeit aus.
Berechtigungen
Der Befehl crontab erfordert, dass ein Benutzer die Berechtigung zum Bearbeiten einer crontab-Datei hat. Es gibt zwei Dateien, die crontab-Berechtigungen verwalten: /etc/cron.allow und /etc/cron.deny.
- Wenn die Datei /etc/cron.allow existiert, muss der Benutzer, der die crontab-Datei bearbeiten möchte, in dieser Datei aufgeführt sein.
- Wenn die Datei cron.allow nicht existiert, aber eine Datei /etc/cron.deny vorhanden ist, darf der Benutzer in dieser Datei nicht existieren.
- Wenn beide Dateien vorhanden sind, überschreibt die Datei /etc/cron.allow die Datei /etc/cron.deny.
- Wenn keine Datei vorhanden ist, hängt es von der Systemkonfiguration ab, ob ein Benutzer die crontab bearbeiten kann.
Der Root-Benutzer kann die crontab-Datei jederzeit bearbeiten. Sie können entweder verwenden der su-Befehl zum Root-Benutzer wechseln oder der sudo-Befehl um den crontab-Befehl auszuführen.
Bearbeiten Sie die Crontab-Datei
Jeder Benutzer mit entsprechenden Berechtigungen kann eine crontab-Datei erstellen. Der Befehl cron sucht nach allen crontab-Dateien und durchläuft jede Datei.
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie über eine crontab-Datei verfügen:
crontab-l.
Wenn Sie keine crontab-Datei haben, wird die Meldung keine crontab für erscheint, andernfalls wird Ihre crontab-Datei angezeigt.
Diese Funktionalität unterscheidet sich von System zu System. Manchmal zeigt es überhaupt nichts an und manchmal wird es angezeigt Bearbeiten Sie diese Datei nicht.

Führen Sie den folgenden Befehl aus, um eine crontab-Datei zu erstellen oder zu bearbeiten:
crontab-e.
Die geöffnete Datei enthält viele Informationen, aber der wichtigste Teil ist das Beispiel vor dem Ende des Kommentarabschnitts (Kommentare werden durch Zeilen gekennzeichnet, die mit # beginnen).
# m h dom mon dow-Befehl.
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

Es gibt sechs Informationen, die in jede Zeile der crontab-Datei passen:
- Die Minute des Tages, an dem der Befehl ausgeführt werden soll (m).
- Die Tageszeit, zu der der Befehl ausgeführt werden soll (h).
- Der Tag des Monats, an dem der Befehl ausgeführt werden soll (dom).
- Der Monat, in dem der Befehl ausgeführt werden soll (mon).
- Der Wochentag, an dem der Befehl ausgeführt werden soll (dow).
- Der Befehl.
Für jedes Element (mit Ausnahme des Befehls) können Sie ein Platzhalterzeichen angeben. Sehen Sie sich die folgende Beispiel-Crontab-Zeile an:
30 18 * * * tar -zcf /var/backups/home.tgz /home/
Nach 30 Minuten, 18 Stunden und jedem Tag, Monat und Wochentag wird dieser Crontab-Eintrag Postleitzahl und Teer das Home-Verzeichnis in den Ordner /var/backups.
Ersetzen Sie in den folgenden Beispielen das Wort Befehl durch den Befehl, den Sie ausführen möchten.
Führen Sie den folgenden Befehl aus, um einen Befehl zu erhalten, der jede Stunde um 30 Minuten ausgeführt wird:
30 * * * * Befehl.
Um einen Befehl zu erhalten, der jede Minute nach 18:00 Uhr ausgeführt wird, führen Sie den folgenden Befehl aus:
* 18 * * * Befehl.
Sie müssen daher beim Einrichten von crontab-Befehlen vorsichtig sein.
Zum Beispiel:
* * * 1 * Befehl.
Dieser Befehl wird jede Minute zu jeder Stunde an jedem Tag jeder Woche im Januar ausgeführt.
Um am 1. Januar um 5 Uhr morgens einen Befehl auszuführen, geben Sie den folgenden Befehl in die crontab-Datei ein:
0 5 1 1 * Befehl.
So entfernen Sie eine Crontab-Datei
Meistens möchten Sie die crontab-Datei nicht entfernen. Möglicherweise möchten Sie jedoch einige Zeilen aus der crontab-Datei entfernen.
Führen Sie den folgenden Befehl aus, um die crontab-Datei Ihres Benutzers zu entfernen:
crontab-r.
Ein sicherer Weg, dies zu tun, ist, den folgenden Befehl auszuführen:
crontab-i.
Das Betriebssystem fordert zur Überprüfung auf, bevor es die crontab-Datei entfernt.