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

Re: Debian policy, cron, anacron und eigene Jobs



Ruediger Noack <ernohl@yahoo.de> writes:

> Eigentlich will ich ja nur eigene cron-Jobs Debian-like platzieren.
> Debian-policy lässt sich bzgl. cron jobs nur zu von Paketen gelieferten
> Jobs aus. Aber was mache ich mit eigenen?

man crontab lesen? :-)
 
> Doku und vorhandene conf-Dateien habe ich so verstanden (oder eher nicht):
 
> Alles, was von anacron beachtet werden soll, wird unter anacron definiert.
> Das heisst für die täglich abzuarbeitenden Jobs (cron.daily) 6:25 Uhr
> oder 5 Minuten nach Start des init.d-Scripts.
Nein. Wenn anacron installiert wird, dann werden die Jobs aus der crontab
nicht ausgeführt. Darum hat die crontab ja auch diese Konstruktion mit

test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily

D.h. wenn /usr/sbin/anacron existiert, dann ist der von Test geprüfte
Ausdruck bereits "true" und der Teil rechts von der Oder-Verknüpfung
wird nicht mehr weiter bewertet bzw. in diesem Fall ausgeführt. 
> Das kann aber doch nicht alles sein! Wenn ich anacron nicht installiert
> hätte, würden die Jobs _nie_ laufen? Glaube ich nicht. 1. Problem.
Doch, wenn Du anacron *nicht* installiert hast, dann läuft der cron.daily
um 6:25 jeden Morgen. Das setzt aber eben ein System voraus, welches 
rund um die Uhr läuft. Normalerweise hat man das aber beim Desktop eher
selten und 6:25 ist auch nicht unbedingt die Zeit zu der ein Geek nach
seinem Klischee schon wach ist :-) Also kommt anacron ins Spiel und
sorgt dafür, daß die Jobs trotzdem laufen, eben mit einiger 
Verzögerung nach dem Systemstart. Die Verzögerung ist über die
anacrontab einstellbar.

Bei Systemen die nicht rund um die Uhr laufen ist anacron IMHO sehr
wichtig, denn ohne anacron sammelt sich vieles an was normalerweise
durch die automatisch gestarteten "Wartungsskripts" aufgeräumt wird.
 
> Ich will nun meinen cron-Job abstellen. Wohin bitte? /etc/cron.daily fällt
> aus. 1. will ich den Paketen nicht dazwischenfunken. 2. ist mir 5 min
> nach dem Booten für meinen Job zu zeitig.
Entscheide, ob Du ein Anwendungsfall für Anacron bist? Sieht so aus, denn
offensichtlich bootest Du den Rechner öfters, d.h. ich nehme an er läuft
nur wenn er gebraucht wird. D.h. Du mußt anacron laufen lassen. Den Job
kannst Du dann mit einer von Dir definierten Verzögerung über anacron
starten.
 
> Ich würde also irgendwo (wo bitte?) ein Verzeichnis cron.erno anlegen,
> dort mein Script unterbringen und dann die /etc/anacrontab und
> /etc/crontab entsprechend erweitern. Ist das richtig?
 
Im Prinzip reicht es, entweder crontab oder anacrontab zu versorgen.
Denke daran, daß auch bei installiertem anacron der cron trotzdem läuft
und jede Zeile der crontab ausführt die nicht durch einen Test auf
anacron vor "Doppelausführung" geschützt ist. 

Hope that helps
Rainer
-- 
Rainer König, Diplom-Informatiker (FH), Augsburg, Germany

Reply to: