Fcron, eine flexible Cron-Alternative

Orlando Rosu

Zeit für Fcron

Fcron beherrscht alles, was auch der klassische Cron-Daemon kann, und bietet darüber hinaus noch einige nützliche Extras.
Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

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.

Fcron-Konfiguration

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.

Crontab-Dateien bearbeiten

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.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite