Pünktlich ausgeführt
Programme zeitgesteuert abarbeiten
Fast nach Plan
Der Cron-Daemon hat den Nachteil, dass der Rechner zu den gewünschten Ausführungszeiten eingeschaltet sein muss. Aber auch dafür lässt sich Abhilfe schaffen: anacron. Sollte dieses Paket nicht bei Ihrer Distribution dabei sein, kann es unter [4] heruntergeladen werden. Die Installation erfolgt wie üblich mit
tar -xzf anacron-2.3.tar.gz cd anacron-2.3 make su make install
Die Steuerzentrale von anacron heißt /etc/anacrontab; jede Zeile in dieser von root verwalteten Konfigurationsdatei (Listing 2) entspricht einem Task. Anders als Cron spezifiziert Anacron keine exakten Zeiten, sondern in der ersten Spalte, aller wieviel Tage der in der letzten Spalte angegebene Job fällig ist. Steht der entsprechende Befehl in einem der in PATH aufgelisteten Verzeichnisse, reicht sein Name; ansonsten ist eine komplette Pfadangabe erforderlich.
Wird Anacron beim Booten des Rechners aufgerufen, schaut es in einer nach der Zeichenkette in der dritten Spalte benannten Datei nach, ob bereits entsprechend viele Tage verstrichen sind. Dieses File wird neu geschrieben, wenn Anacron einen Task ausführt. Damit nach einem Anacron-Start nicht tausende Prozesse auf einmal loslegen, wenn der Rechner zu lange ausgeschaltet war, kann man in Spalte zwei eine Verzögerung in Minuten angeben.
Listing 2
Anacron-Steuerdatei
# /etc/anacrontab-Beispiel SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin #Intervall Verzoegerung Job-Identifier Kommando 1 5 whatis makewhatis 7 15 Wochenstatistik /home/schrotty/Arbeit/Mail/stats
Sinnvollerweise startet man das Programm mit anacron -s aus einem Boot-Skript heraus. Läuft der Rechner öfters über Nacht durch, empfiehlt es sich, anacron -s in die Cron-Tabelle von root einzutragen, sofern man Wert darauf legt, einen Job wirklich annähernd mit dem angegebenen Intervall zu wiederholen.
Glossar
for-Schleife
Die for-Schleife ist eine einfache Zählschleife, die so lange durchlaufen wird, wie die Laufvariable in den vorgegebenen Grenzen liegt. Sie hat in der Bash die allgemeine Form
$
Will man den Inhalt einer Variablen in der Bash erfragen, stellt man den $-Operator vor ihren Namen. Im Beispiel wird so aus dem Inhalt von file und der Zeichenkette ".wav" der Name der zu erzeugenden Wave-Datei gebildet.
load average
Die durchschnittliche Auslastung des Systems (load average) kann man sich mit dem Befehl uptime ansehen:
Infos
[1] Patricia Jung: "Wem die Stunde schlägt", Linux-Magazin 08/1998, http://www.linux-magazin.de/ausgabe/1998/08/Cron/cron.html
[2] Patricia Jung: "Diener auf die Minute", LinuxUser 12/2000, http://www.linux-user.de/ausgabe/2000/12/080-cron/cron-1.html
[3] Patricia Jung: "Auftragsersteller vom Dienst", LinuxUser 01/2001, http://www.linux-user.de/ausgabe/2001/01/077-crontabmanager/crontabmanager.html
[4] Anacron: http://software.linux.com/projects/anacron/



