Die /etc/crontab-Datei wird vom Cron-Daemon verwendet wird, um Zeitpläne für das Ausführen von Befehlen oder Skripten festzulegen. Der Cron-Daemon ist ein Dienst, der auf Linux-Systemen läuft und Aufgaben zu bestimmten Zeiten oder in bestimmten Zeitintervallen automatisch ausführt. Die Datei folgt einem bestimmten Format. Jede Zeile in der Datei repräsentiert eine Aufgabe und besteht aus mehreren Feldern, die durch Leerzeichen oder Tabs getrennt sind.
Um den Crontab zu bearbeiten, gibt es zwei gängige Ansätze:
crontab -e
: Dieser Befehl öffnet den Crontab-Editor, mit dem der Inhalt des Crontabs bearbeitet werden kann.- Manuelle Bearbeitung der Datei: Eine alternative Methode besteht darin, die Crontab-Datei direkt zu öffnen und zu bearbeiten. In den meisten Linux-Distributionen befindet sich systemweite Crontab-Datei unter /etc/crontab, während die Benutzer-Crontabs in der Regel im Verzeichnis
/var/spool/cron
zu finden sind, eine separate Datei für jeden Benutzer.
Syntax
+---------------- Minuten (0-59)
| +------------- Stunden (0-23)
| | +---------- Tag des Monats (1-31)
| | | +------- Monat (1-12)
| | | | +---- Tag der Woche (0-7, wobei 0 und 7 Sonntag sind)
| | | | |
* * * * * Benutzername Befehl/Skript
Minuten
steht für die Minute der Stunde, in der der Befehl ausgeführt werden soll. Gültige Werte liegen zwischen 0 und 59.Stunden
steht für die Stunde des Tages, in der der Befehl ausgeführt werden soll. Gültige Werte liegen zwischen 0 und 23.Tag des Monats
steht für den Tag im Monat, an dem der Befehl ausgeführt werden soll. Gültige Werte liegen zwischen 1 und 31.Monat
steht für den Monat im Jahr, in dem der Befehl ausgeführt werden soll. Gültige Werte liegen zwischen 1 und 12.Tag der Woche
steht für den Wochentag, an dem der Befehl ausgeführt werden soll. Gültige Werte liegen zwischen 0 und 7, wobei 0 und 7 Sonntag darstellen.Benutzername
gibt an, unter welchem Benutzer der Befehl ausgeführt werden soll.Befehl/Skript
enthält den Befehl oder das Skript, das ausgeführt werden soll.
Beispiele
Verschieben einer Datei um 2:13 Uhr morgens jeden Montag
13 2 * * 1 mv /pfad/zur/datei /zielverzeichnis/
Diese Zeile verschiebt die Datei vom angegebenen Pfad zum Zielverzeichnis um 2:13 Uhr morgens jeden Montag.
Verschieben aller Dateien aus einem Verzeichnis in ein anderes Verzeichnis täglich um 18:00 Uhr
0 18 * * * mv /quelle/verzeichnis/* /ziel/verzeichnis/
Diese Zeile verschiebt alle Dateien aus dem Quellverzeichnis in das Zielverzeichnis täglich um 18:00 Uhr. Das *-Zeichen wird verwendet, um alle Dateien im Quellverzeichnis auszuwählen.
Verschieben einer Datei um 12 Uhr am ersten Tag jedes Monats
0 12 1 * * mv /pfad/zur/datei /zielverzeichnis/
Diese Zeile verschiebt die Datei vom angegebenen Pfad zum Zielverzeichnis um 12:00 Uhr am ersten Tag jedes Monats.
Verschieben aller Dateien, die älter als 7 Tage sind, in ein Archivverzeichnis
0 0 * * * find /verzeichnis -type f -mtime +7 -exec mv {} /archivverzeichnis \;
Diese Zeile verwendet den find
-Befehl, um alle Dateien im Verzeichnis zu finden, die älter als 7 Tage sind, und verschiebt sie dann in das Archivverzeichnis.
Verschieben einer Datei um 8:05 Uhr morgens jeden Montag und Mittwoch in ein anderes Verzeichnis
5 8 * * 1,3 mv /pfad/zur/datei /zielverzeichnis/
Diese Zeile verschiebt die Datei vom angegebenen Pfad zum Zielverzeichnis um 8:05 Uhr morgens jeden Montag und Mittwoch. Die Zahlen 1
und 3
im Tag-der-Woche-Feld stellen Montag und Mittwoch dar.
Links
- https://wiki.ubuntuusers.de/Cron/: Dieser Link führt zum Ubuntuusers Wiki und enthält Informationen über den Cron-Dienst und die Verwendung von Cron-Jobs in Ubuntu.
- https://www.linuxwiki.de/crontab: Hier kommst du zu einem Artikel auf LinuxWiki der Informationen bietet über Crontab und die Verwendung von Cron-Jobs in Linux.
- https://de.wikipedia.org/wiki/Cron: Dieser Link führt zum deutschen Wikipedia-Artikel über Cron, der eine allgemeine Einführung in den Cron-Dienst und seine Verwendung bietet.
- https://linuxhint.com/schedule_crontab_job_every_hour/: Dieser Link führt zu einem Artikel auf LinuxHint und erklärt, wie man einen Cron-Job einrichtet, der stündlich ausgeführt wird.