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:

    1. crontab -e: Dieser Befehl öffnet den Crontab-Editor, mit dem der Inhalt des Crontabs bearbeitet werden kann.
    2. 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