anacron
anacron ist ein Computerprogramm ähnlich cron zum zeitlich gesteuerten Starten von Computerprogrammen. Im Gegensatz zu cron, welches voraussetzt, dass der Computer wie bei Servern üblich, permanent läuft, nimmt Anacron zur Bewertung nicht nur die aktuelle Uhrzeit, sondern die vergangene Zeitspanne seit dem letzten Start mit in die Entscheidung. Damit wird es für Geräte, die nicht ständig laufen, wie z. B. Laptops und Desktop-Computer, nutzbar. Die Originalimplementierung wurde in Perl von Christian Schwarz geschrieben, die aktuelle Implementierung in C stammt von Itai Tzur. anacron ist freie Software unter der GNU General Public License (GPL)[1].
Allgemeines
Anacron ist eine Cron-Ergänzung, erfordert also eine installierte Cron-Version, und wird hauptsächlich auf Arbeitsplatzrechnern oder Notebooks eingesetzt welche nicht dauernd eingeschaltet sind.
Das Programm Cron wird vor allem im Serverbereich genutzt, um regelmäßig (z. B. jede Nacht um 01:00 Uhr, um tagsüber möglichst viel Rechenleistung normalen Nutzern zur Verfügung zu stellen) eine Aktion auszuführen, beispielsweise das Archivieren und Komprimieren von Logdateien. Wird der Rechner, beispielsweise ein Arbeitsplatzrechner, um 20:00 Uhr aus- und am nächsten Tag um 08:00 Uhr wieder eingeschaltet, so kümmert sich cron nicht um eventuell verstrichene Cronjobs in der Nacht, da zu diesen Zeitpunkten der Rechner ausgeschaltet war.
Anacron hingegen registriert beim nächsten Einschalten des Desktop-Systems die fehlende Ausführung und startet die verpassten Jobs möglichst unmittelbar. Sind mehrere Jobs verpasst worden, werden dabei nicht alle gleichzeitig gestartet, sondern nacheinander (sequenziell) ausgeführt. Zwar kann eingestellt werden, dass die Jobs gleichzeitig (parallel) ausgeführt werden, jedoch kann eine solche Einstellung dazu führen, dass CPU, Festplatte oder Arbeitsspeicher so stark beansprucht werden (z. B. beim Aktualisieren eines Dateiindex), dass den regulären Nutzern diese Ressourcen fehlen.
Einer der Nachteile von anacron ist, dass nur der Systemadministrator, üblicherweise mit root-Rechten, anacron-Jobs definieren kann. Benutzer ohne root-Rechte können das Unix-Kommando at nutzen, um Aktionen garantiert zu einem bestimmten Zeitpunkt auszuführen. Eine fehlende Ausführung wird bei laufender Maschine zu einem späteren Zeitpunkt nachgeholt.
Außerdem ist anacron nur in der Lage, einmal täglich oder seltener als einmal wöchentlich Programme zeitlich gesteuert zu starten – dieser Nachteil relativiert sich insofern, als bei häufigerer Ausführung auch Cron genügen kann. Im Gegensatz dazu ist Cron in der Lage, Jobs in Intervallen von einer Minute bis jährlich auszuführen.