fcron
Die meisten Cron-Implementierungen wie Vixie Cron und DCron gehen von einem System aus, das ohne Unterbrechungen läuft. Das trifft allerdings nur auf Server zu - Laptops werden sehr oft heruntergefahren oder in den Suspend-Modus versetzt. Desktop-Rechner sind in der Regel nachts oder an Urlaubstagen ausgeschaltet, um Energie zu sparen. Bei solchen Einsatzszenarien bleiben Cronjobs unerledigt, wenn der Computer zur fraglichen Zeit nicht lief. Abhilfe für dieses Problem schafft die Cron-Alternative Anacron. Anacron hat aber auch Nachteile: Da das Programm nicht als Daemon läuft, muss es bei Bedarf gestartet werden, entweder manuell, durch Boot-Skripte oder durch Cron selbst. Dieses Problem kann dazu führen, dass Cron und Anacron gleichzeitig laufen, aber eine Aufgabe zwei Mal oder gar nicht erledigt wird.
Fcron ist ein Cron-Daemon, welcher die bereits bekannten Funktionen von Cron und Anacron beherrscht, aber einige nützliche Extras bietet.
Installation
Das Programm ist im community Repo verfügbar. Es kann mittels Pacman installiert werden.
# pacman -S fcron
Zuerst sollte in der rc.conf bei DAEMONS=(... fcron ...)
eingetragen werden. Der Dienst wird ohne d geschrieben im Gegensatz zu vielen anderen bekannten Programmen, siehe Daemons und Daemons/Liste.
Konfiguration
Zuerst bitte die Datei /etc/fcron/fcron.conf
prüfen hinsichtlich der dort aufgeführten Optionen. Die mitgelieferten Standardeinstellungen dürften für die meisten Anwendungsfälle geeignet sein.
Für strengere Beschränkungen bitte die Dateien /etc/fcron/fcron.allow
und /etc/fcron/fcron.deny
bearbeiten.
Die Crontabs werden in der Datei fcrontab
definiert. Die Syntax für die Zeiten und Befehle sind denen von Cron identisch. Für die zusätzlichen Features wird eine erweiterte Syntax verwendet, die sich von den klassischen Crontab-Dateien unterscheidet.
Für die systemweiten Jobs bitte als root ausführen:
- Auflistung
# fcrontab -l systab
- Bearbeitung
# fcrontab -e systab
Folgendes Bsp. zeigt wie Fcron alle Jobs direkt nach dem Starten des Dienstes (z.B. Hochfahren des Rechners) ausführt, wenn dieser zu den angegebenen Zeiten nicht in Betrieb war. Die weiteren Optionen pro Zeile sind selbsterklärend.
# fcrontab -l systab listing systab's fcrontab &bootrun,nolog 00 * * * * /usr/sbin/run-cron /etc/cron.hourly &bootrun,nice(8) 05 00 * * * /usr/sbin/run-cron /etc/cron.daily &bootrun,mail(root) 10 00 * * 1 /usr/sbin/run-cron /etc/cron.weekly &bootrun,erroronlymail 15 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
Weitere Infos
- Fcron's home page Die Dokumentation ist nur in englisch und französisch verfügbar.
- Fcron, eine flexible Cron-Alternative