Open Source im professionellen Einsatz

© Kellerbrandt, Photocase.com

Aus dem Alltag eines Sysadmin: Kalendarische Crontab-Probleme

Tag eins, tagaus

Diesmal beschränkt sich Sysadmin Charly thematisch auf Gott, die Herrschaft der Jakobiner, den neuen Konservatismus Napoleon Bonapartes, die jüdische und islamische Tradition sowie einen Cronjob, der fast nicht funktioniert hätte.

"Aber am siebenten Tag ruhte Er von allen seinen Werken" [1]. "Und nirgends steht geschrieben, dass er am achten Tage wieder anfing" (Konrad Beikircher, Kabarettist).

Kurz nach der Französischen Revolution führte Frankreich ein neues Kalendersystem ein. Es sollte die Trennung von Kirche und Staat manifestieren und das Dezimalsystem als "Prinzip der Vernunft" feiern. Ab dem Jahr 1792 dauerte eine Woche 10 Tage. Der neue Kalender war einigermaßen unbeliebt, denn er bescherte den Franzosen deutlich längere Arbeitswochen. Napoleon machte dem Kalenderspuk 13 Jahre später ein Ende und repatriierte die 7-Tage-Woche. Zurück blieb eine gewisse Verunsicherung der Bürger gegenüber der Institution Woche, beispielsweise in der Frage, an welchem Tag sie beginnt.

Zwar gibt es eine Norm der International Organization for Standardization (ISO) mit der Ziffer 8601, die festlegt, dass eine Kalenderwoche mit dem Montag beginnt. Diese Regelung besteht im europäischen Raum seit dem 1.1.1976. Allerdings ist in vielen Ländern der erste Tag der Woche nicht automatisch auch der erste Arbeitstag der Woche. Gemäß der jüdischen, christlichen und islamischen Tradition beginnt die Woche nämlich mit dem freien Sonntag. Der Montag als erster Arbeitstag ist bereits der zweite Tag der Woche. Das praktizieren zum Beispiel die USA und Australien so und auch viele arabische Länder.

Ich erzähle das alles, weil ich (a) gern klugscheiße und mir (b) ein wichtiges Cronskript um ein Haar auf den Fuß gefallen wäre – nur ein Blick in die Manpage hat mich im letzten Moment gerettet. Mein Skript sollte an jedem Montag um 03:00 Uhr nachts laufen. Mein Cron-Eintrag sah so aus:

0 3 * * 0 /Pfad/Skript.sh

Ich wusste zwar, dass die Wochentage in der Crontab von 0 bis 6 und nicht von 1 bis 7 durchnummeriert sind. Allerdings ist der Autor des Cron-Daemon, Paul Vixie, US-Amerikaner. Der erste Tag der Woche, der Tag » « , ist für ihn der Sonntag. Mein Skript wäre am falschen Tag gelaufen, denn ich hätte im fünften Feld eine »1« setzen müssen.

Entziffert

Allerdings lässt sich das Wochentagsfeld in der Crontab auch so füllen, dass es eindeutig ist, denn Cron akzeptiert an Stelle der Ziffern von Null bis Sechs auch die englischen Drei-Buchstaben-Abkürzungen der Wochentage:

0 3 * * Mon /Pfad/Skript.sh

Wie von den Ziffern gewohnt, darf ich auch hier Zeiträume definieren. Wenn mein Skript täglich von Montag bis Freitag laufen soll, lautet der Eintrag:

0 3 * * Mon-Fri /Pfad/Skript.sh

Cron kennt übrigens auch ein paar Schleichwege: Soll mein Skript täglich um Mitternacht laufen, genügt der Eintrag »@daily /Pfad/Skript.sh« . Ähnlich verhalten sich »@hourly« (zu jeder vollen Stunde), »@monthly« (um Mitternacht am Monatsanfang), »@yearly« (zum Silvesterfeuerwerk) und »@reboot« (bei jedem Neustart). (jk)

Infos

  1. Die Bibel, 2. Mose, 10

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein in Kamp-Lintfort. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ. Im heißen Teil seiner Freizeit frönt er dem Kochen, im feuchten Teil der Süßwasseraquaristik und im östlichen lernt er Japanisch.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook