Weshalb "schläft" apticron? (testing/lenny)
Hallo,
In /etc/cron.daily/ stehen Programme, die täglich ausgeführt werden
sollen. U.a. gibts da "apticron", das eine Zusammenfassung der
ausstehenden Updates erstellen soll.
Der Inhalt dieses Skripts:
--------------------------------------------
#!/bin/sh
RANGE=3600
number=`od -vAn -N2 -tu4 < /dev/urandom`
number=`expr $number "%" $RANGE`
sleep $number
test -x /usr/sbin/apticron || exit 0
/usr/sbin/apticron
--------------------------------------------
Soweit ich diese Zeilen verstehe wird vor dem Aufruf von "apticron" bis zu
einer Stunde Däumchen gedreht. Weiß jemand weshalb? Vermutlich liegt die
Begründung im Befehl "od ..." den ich aber nicht so recht verstehe.
Hintergrund bzw. Details: Morgens vor der Fahrt in die Arbeit schalte ich
meinen Rechner für ca. 10min an um online ein paar Sachen nachzuschauen.
Nach 5 min startet anacron nacheinender die Skripts in /etc/cron.daily/.
Als erstes wird dabei gleich mal der Timestamp in
/var/spool/anacron/cron.daily aktualisiert; dieser besagt: "Hinweis für
anacron: Für heute (timestamp) hast du deine Arbeit erledigt. Sollte der
Rechner heute nochmal gestartet werden, mußt du also nicht noch einmal
ran."
Problem: Wenn ich nach ca. 10min meinen Rechner wieder ausschalte, sind
die Skripte in /etc/cron.daily/ aber noch nicht mal zur Hälfte
abgearbeitet, anacron hat seine Arbeit also begonnen, von erledigt (s.
timestamp) kann aber keine Rede sein. Während der ganzen Arbeitswoche
kommen also etliche cron.daily-Skripts nie zur Ausführung, obweohl der
Rechner, wenn ich ihn nach Feierabend wieder hochfahre, durchaus noch ein
paar Stunden Zeit dazu hätte.
/etc/cron.daily/find, das bei mir eine gute halbe Stunde braucht, hab ich
schon nach /etc/cron.weekly verschoben.
Andere Lösungsmöglichkeiten:
"anacron -f" (Force execution of the jobs, ignoring the timestamps): Dann
wird cron.daily u.U. mehrmals pro Tag ausgeführt. Will ich eigentlich
nicht.
"anacron -s" (Serialize execution of jobs): "-s" weglassen. Mmh,
eigentlich will ich ja nicht in irgendwelchen vorgegebenen Skripts
rumpfuschen.
Skripte in /etc/cron.daily/ umordnen, so daß die schnell abgearbeiteten
zuerst drankommen?
Wie tut ihr da, bzw. was würdet ihr empfehlen (für den Fall daß sich die
o.a. Frage mit dem "sleep" nicht klären lässt)?
PS: Sorry, bin mal wieder etwas ausfürlich geraten :-o
Jan
Reply to: