Wann wird ein Cronjob mit @daily ausgeführt?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Wann wird ein Cronjob mit @daily ausgeführt?

Beitrag von LeoManiac » 13.03.2005 21:08:09

Hallo,

wird dieser Cronjob auch ausgeführt wenn der Rechner zb. nur einmal täglich so 3 oder 4 Stunden an ist bzw. wann wird dieser Cronjob überhaupt ausgeführt? Beim booten?

Code: Alles auswählen

@daily script.sh

crazyed

Beitrag von crazyed » 13.03.2005 21:16:11

Moin,

bei cronjobs kannst du wirklich "Alles" einstellen. Wenn die Kiste aber nur unregelmässig läuft solltest du das beim Bootvorgang ausführen. Dazu beginnt der cronjob mit @reboot <Befehl>

mvG, Jens

LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Beitrag von LeoManiac » 13.03.2005 21:19:35

ne beim booten ist blöd weil ich n paar sachen mittels cron übers netz update (ntpdate usw.) dadurch braucht der länger beim booten deshalb ja auch meine Frage wann @daily ausgeführt wird

crazyed

Beitrag von crazyed » 13.03.2005 21:37:50

man 5 crontab gibt erschöpfende Auskunft über Möglichkeiten.
@daily ist nicht genau genug wenn du etwas zu einem bestimmten zeitpunkt ausgeführt haben möchtest

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 13.03.2005 21:52:20

Da gibts noch anacron für Cronjobs auf Maschinen die nicht immer laufen, eventuell ist das das was du suchst?

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Beitrag von LeoManiac » 13.03.2005 22:18:23

crazyed hat geschrieben:man 5 crontab gibt erschöpfende Auskunft über Möglichkeiten.
@daily ist nicht genau genug wenn du etwas zu einem bestimmten zeitpunkt ausgeführt haben möchtest
es muss ja nicht zu einen bestimmten Zeitpunkt sondern nur irgendwann am nächsten Tag wenn die Kiste an ist.

Ich hab auf den System einen VDR am laufen und dazu brauch ich 2 aktualisiierungen übers Netz einmal Zeit und Programmdaten ... die Programmdaten werden immer für mehrere Tage im voraus geholt. Die Zeit muss auch nicht zu einen bestimmten Zeitpunkt aktualisiert werden. Meine beochbachtung ist das die Rechneruhr nach und nach immer mehr nachgeht es reicht also wenn die Daten irgendwann im laufenden Betrieb aktualisiert werden. Nur der Rechner läuft nicht durch da ich WakeOnAlarm benutze.

Benutzeravatar
claus
Beiträge: 59
Registriert: 18.06.2004 16:43:19
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von claus » 14.03.2005 07:40:00

Hallo,

wann dein daily cronjob ausgefuehrt wird steht in

Code: Alles auswählen

/etc/crontab
wenn dein Rechner zu der Zeit nicht an ist, wird der cronjob auch nicht ausgefuehrt, dafuer gibt es aber

Code: Alles auswählen

anacron - a cron-like program that doesn't go by time
Auf einem Debian System reicht

Code: Alles auswählen

apt-get install anacron
und deine bisherigen cronjobs werden auch von anacron verwendet.

Claus

crazyed

Beitrag von crazyed » 14.03.2005 07:44:22

Moin,

ich glaube wir haben uns zuerst missverstanden. Jetzt also noch mal zum mitlesen :)
Wenn du einen cronjob @reboot ausführen lässt wird der jedes mal wenn die Kiste gestartet wird ausgeführt. Das verzögert den Startvorgang aber nicht, weil der Job gestartet wird und , weil weil Linux ja Multitasking beherrscht, wird dieser Job so lange ausgeführt bis er beendet ist. Das verzögert aber den Startvorgang nicht, es wird nicht gewartet bis der Job erledigt ist. Wenn du ntp beim Start ausführst, was eigentlich "normal" ist, und deine Cronjobs anlaufen lässt ist das überhaupt kein Problem. So kannst du aber sicher gehen, dass diese Jobs wirklich ausgeführt werden. @daily hat mir immer mal zu dieser, mal zu jener Zeit des Tages den Job gemacht, eine Regelmässigkeit konnte ich nicht erkennen. Wenn deine Kiste zu unterschiedlichen Zeiten in Betrieb ist , also nicht 24 Std durchläuft, ist @reboot deine Wahl. Damit ist der Zeitpunkt festgelegt und der gewünschte Effekt wie in deinem erstem Posting beschrieben.

Und @reboot heisst nicht, dass der Job nur während des Bootvorgangs ausgeführt wird und alles gefälligst so lange zu warten hat bis der Job erledigt ist. :idea:

mvG, Jens

LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Beitrag von LeoManiac » 14.03.2005 08:37:06

Das ist klar das Linux Multitasking kann aber ich hatte das ganze schon mal per Script welches beim booten gestartet wurde (nicht per Cron) und das hat den Bootvorgang merklich verzögert aber ich werds mal mit den Cron @reboot versuchen.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 14.03.2005 08:37:57

Oder halt, wie schon oefters vorgeschlagen, den Job in anacron einstellen.
Waere eher meine Wahl anstelle des @reboot.

Benutzeravatar
claus
Beiträge: 59
Registriert: 18.06.2004 16:43:19
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von claus » 14.03.2005 09:26:20

anacron ist auf jeden Fall die sauberere Methode, mit cron und @reboot kann es dir passieren, dass der cronjob ausgefuehrt wird aber dein Netzwerk Interface noch down ist... dann geht ntp update als auch dein anderes Update in die Hose....

Antworten