Für Admins und andere Linux-Anwender ist der Cron-Daemon ein alter Bekannter. Der Scheduler führt regelmäßig in Textdateien konfigurierte Aufgaben aus. Die meisten Cron-Implementierungen wie Vixie Cron, ISC Cron, Bcron und Dcron gehen allerdings von einem System aus, das ohne Unterbrechungen alle 7 Wochentage 24 Stunden läuft.
Das trifft aber in der Regel nur auf Server zu – Laptops werden sehr oft heruntergefahren oder in den Suspend-Modus versetzt. Desktop-Rechner sind meist nachts oder an Urlaubstagen ausgeschaltet, um Energie zu sparen. Bei solchen Einsatzszenarien bleiben Cronjobs unerledigt, wenn der Computer zur fraglichen Zeit nicht läuft.
Nachträglich Abhilfe für dieses Problem schafft die Cron-Alternative Anacron [1]. Es verwendet eine Liste von Aufgaben, die innerhalb einer bestimmten Zeit erledigt sein müssen. Wenn Anacron startet, prüft es, welche Jobs noch nicht erledigt sind, und führt sie dann aus.
Anacron hat aber auch Nachteile: Da das Programm nicht als Daemon läuft, muss es bei Bedarf gestartet werden, entweder manuell, durch Bootskripte oder durch Cron. Außerdem ist Anacron nicht für Zeiteinheiten gedacht, die kürzer als ein Tag sind. Diese beiden Probleme können in Kombination dazu führen, dass Cron und Anacron gleichzeitig laufen, aber eine Aufgabe zweimal oder gar nicht erledigt wird.
Die GPL-Software Fcron [2] dagegen beherrscht alles, was der klassische Vixie Cron und Anacron bieten, und noch einiges darüber hinaus. Fcron ist in den Repositories der meisten Linux-Distributionen als Paket enthalten und lässt sich mit dem Paketmanager installieren.
Die erforderlicchen Konfigurationsdateien für Fcron ähneln denen für den Vixie Cron, der bei den meisten Distributionen standardmäßig installiert ist. In der Regel befinden sich die folgenden drei Dateien in »/etc/fcron
«
:
fcron.conf
«
nimmt Einstellungen wie den gewünschten Texteditor und den verwendeten Mailer auf.fcron.allow
«
verzeichnet, welche Benutzer Fcron verwenden dürfen. Dabei bedeutet die Einstellung »all
«
, dass alle User eine eigene Fcrontab-Datei einsetzen dürfen.fcron.deny
«
definiert jene Benutzer, die Fcron nicht verwenden dürfen. Dabei überstimmen die Deny-Einstellungen jene aus »fcron.allow
«
.Die mitgelieferten Standardeinstellungen dürften für die meisten Anwendungsfälle geeignet sein, es sei denn, strengere Beschränkungen sind erwünscht.
Neben den geplanten Aufgaben kann die Fcrontab-Datei noch Umgebungsvariablen wie »HOME
«
und »SHELL
«
enthalten. Mit der Angabe
SHELL=/bin/sh
lässt sich zum Beispiel die Standardshell aus »/etc/passwd
«
überschreiben.
Der folgende Befehl öffnet die Fcrontab-Datei des aktuellen Benutzers im Default-Editor:
fcrontab -e
Um die systemweite Fcrontab zu bearbeiten, führt der Administrator folgende Zeile aus:
fcrontab -e systab
Wer Fcrons zusätzliche Features nutzen möchte, muss eine erweiterte Syntax verwenden, die sich von den klassischen Crontab-Dateien unterscheidet.