crontab ist ein Kommando, das Ihnen erlaubt, Kommandos in geregelten Zeitabständen zu starten, ohne dass Sie dafür angemeldet sein müssen. Zudem wird Ihnen ein Ausführungsbericht zugestellt. Sie können die Intervalle in Minuten, Stunden, Tagen und sogar Monaten definieren. Abhängig von den Optionen verhält sich crontab unterschiedlich:
-l: Gibt Ihre aktuelle crontab aus.
-e: Erlaubt die Änderung Ihrer crontab.
-r: Entfernt Ihre aktuelle crontab.
-u <Benutzer>: Wendet eine der oben genannten Optionen auf den Benutzer <Benutzer> an. Diese Option ist nur unter dem privilegierten Benutzer-Kennzeichen root möglich.
Tippen Sie crontab -e und Ihre crontab wird in einem Editor geöffnet (Falls Sie eine der Variablen EDITOR oder VISUAL definiert haben, wird diese ausgewertet, andernfalls wird VI, der Standardeditor, verwendet). Eine Zeile der crontab besteht aus sechs Feldern. Die ersten fünf Felder stehen für Zeitintervalle: Minuten, Stunden, Tage im Monat, Monat und Tage in der Woche. Das sechste Feld beinhaltet das auszuführende Kommando. Zeilen, die mit # beginnen, sind Kommentare und werden von crond (dem ausführenden Programm) ignoriert. Hier ein Beispiel:
![]() | Um der Lesbarkeit willen mussten einige Zeilen umgebrochen werden, die nicht umgebrochen werden dürfen, um korrekt ausgeführt zu werden. Diese Zeilen wurden am Ende mit einem \ markiert, was heißt, dass diese Zeile weitergeht. Diese Konvention funktioniert auf der ganzen Shell, sowie in den Dateien namens Makefile und in einigen weiteren Kontexten. |
# Falls Sie keinen Ausführungsbericht per E-Mail # erhalten wollen, entfernen Sie bitte das # Kommentarzeichen am Anfang folgender Zeile: #MAILTO="" # # Melde alle 2 Tage um 14 Uhr neue Images # (obiges Beispiel) - Aktualisiere anschließend # den Zeitstempel der Datei "stamp". Das "%" # wird als Zeilenumbruch interpretiert und # und ermöglicht es Ihnensomit, mehrere Befehle # in einer Zeile eingeben zu können. 0 14 */2 * * find /shared/images \ -cnewer /shared/images/stamp \ -a -iregex ".*\.jpe?g" \ -a -not -regex \ ".*/old/.*"%touch /shared/images/stamp # # Spiel immer zu Weihnachten eine Melodie :) 0 0 25 12 * mpg123 $HOME/lieder/stille_nacht.mp3 # # Drucke jeden Dienstag um 17 Uhr eine Einkaufliste ... 0 17 * * 2 lpr $HOME/Einkaufsliste.txt |
Es gibt auch andere Wege, Intervalle anzugeben. Sie können etwa eine Gruppe diskreter Werte, getrennt durch Kommata, angeben (1,14,23) oder einen Bereich (1-15) oder gar beides (1-10,12-20) oder Zeitstufen definieren (1-12,20-27/2). Jetzt brauchen Sie nur noch Programme, die sie ausführen lassen wollen :-)
Zurück | Anfang | Vor |
find: Sucht Dateien nach bestimmten Kriterien | Hoch | at: ein Kommando einmal zeitversetzt ausführen |