Cron-Job ausführen wenn Zeitpunkt vorbei

John Doe

John Doe

King Dingeling
Hi Leute!

Ich habe immer morgens um 5 einen Cron-job laufen. Denn wenn ich mich pünktlich aus dem Bett quäle, dann ist der PC dann auch an. Wenn ich aber z.B. erst später raus muss (oder einfach liegen bleibe), dann ist der PC nicht um 5 Uhr an. Folglicherweise wird der Cron-Job auch nicht ausgeführt. Es ist aber wichtig, das der Job ausgeführt wird. Wie kann ich es anstellen, das wenn die Ausführung um 5 Uhr nicht stattgefunden hat, das der Job ausgeführt wird, sobald der Rechner dann hochfährt?


John Doe


PS: Ich benutze RedHat 9A 2nd Edition

PPS: Ich hoffe ich habe diesmal das richtige Forum getroffen.... ;-)
 
Hmm, wenn Du eh den Rechner einschaltest hättest das ganze gleich als initscript machen können.

Ok, aber Dein Problem würd ich wie folgt angehen:
- Der cronjob führt ein script aus, z.B. das fuenfuhr.sh.
- Das Script erwartet als Parameter z.B. cron und init
- Beim Aufruf mit Parameter cron:
- Der job wird abgearbeitet und es wird eine kontrolldatei mit 0 Byte länge aber dem aktuellen Zeitstempel erzeugt.
- Exisitiert die Kontrolldatei schon, wird der Zeitstempel mit dem aktuellen Datum verglichen. Wenn Zeitstempel vom Vortag ist, dann Aktion ausführen, sonst nix machen.
- Beim Aufruf mit Parameter init:
- Das script macht wieder den vergleich mit dem zeitstempel, schaut nach obs im Moment evtl. noch vor fuenf Uhr ist und dann der cron das regeln würde und entscheidet dann was zu machen oder nicht.
- das script liegt unter /etc/init.d/fuenfuhr.sh
- Je nach Runlevel dann ein link, z.B. /etc/rc5.d/S99fuenfuhr.sh --> /etc/init.d/fuenfuhr.sh
Das haette den Vorteil, dass es bei jedem reboot oder durch den cron abgearbeitet wird.

//EDIT:
Rächtschreppvehler verpesserd
 
Zuletzt bearbeitet:
jo, danke... genau so werde ich das machen...
werde mich gleich mal ransetzen....

Danke!!

Edit: mir ist gerade was aufgefallen. Den Parameter init brauche ich ja nur wenn ich das script über den RunLevel ausführen lasse (oder von Hand starte). Kann ich denn wenn ich den Link in rc5 anlege einen Parameter übergeben?
 
Zuletzt bearbeitet:
Achso, das brauchst ja gar nicht. Ohne Parameter heisst, init-Aufruf, mit Paramter heisst dann Aufruf über cron.
 
tip: anacron nimmt man dafür ;)

gruss, sd.
 
Cybermarc schrieb:
Ach, das sind doch neumodische Ferz. :D

Aber nee, Du hast da wohl recht.

... ich wollte euch ja nicht gross stören ... es geht ja bestimmt auch umständlicher :D

gruss, sys.
 
hmm.. was ist denn der unterschied zwischen cron und anacron?
 
Wenns nach sydef ginge: anacron ist älter (deswegen heißt er ja so: "anachronistisch") ... deshalb schön bei cron bleiben. :D :tongue:

*scnr*
 
Zurück
Oben