[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: