PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cron-Problem



kuiffje
03.05.05, 10:47
Hallo,

zum System sei kurz gesagt, dass ich DEVIL-LINUX 1.2.3 als Firewall nutze. Und nun das Problem:

Devil-Linux soll zu einer festen Uhrzeit rebooten. Dazu habe ich folgendes in die crontab eingetragen

15 12 * * * root /sbin/shutdown -r now (Beispiel)
Ansonsten wird in keiner Datei was eingetragen.

Wie erwartet, fährt das System um 12:15 Uhr runter zum reboot. Aber nachdem das System wieder oben ist, führt es gleich wieder ein reboot durch, und wieder eins und wieder eins und wieder eins ... .
Kommentiere ich diese Zeile aus, bleibt der Rechner brav oben.

Reboote ich das System um 13:00 Uhr, erfolgt der gleiche ständige reboot.
In den Logs steht nur drin, dass nach dem Reboot der shutdown Befehl von cron kommt. Aber wieso ????????

Schonmal Dank für jede Unterstützung.

muell200
03.05.05, 15:04
Aber wieso ????????


gute frage...

trage mal den job mit "crontab -e" ein....

ein versuch ist es wert...

tschloss
03.05.05, 15:51
Ich würde den reboot Befehl in ein Skript packen und dort vor dem shutdown ein log wegschreiben und dieses Skript in Cronrtab einhängen

Dann erkennst du schonmal, ob der Cronbefehl immer wieder aufgerufen wird oder ob der shutdown irgendwie noch aktiv ist, d.h. Ursache eher bei cron oder eher bei shutdown.

Greetz
Thomas

kuiffje
04.05.05, 09:09
Hallo,

habt zunächst Dank für Eure Mithilfe.

Der Versuch mit crontab -e ging in die Hose. Es entsteht das gleiche merkwürdige Verhalten.

Die Idee mit dem Schript habe ich auch gleich in die Tat umgesetzt. Tatsächlich liegt es nicht am shutdown-Befehl, sondern am Cron-job. Egal ob als extra script, oder direkt als shutdown. Der Rechner rebootet und rebootet.

Hat jemand vielleicht noch eine Idee ?

marce
04.05.05, 10:59
gib doch mal in dem Script auch noch die Uhrzeit aus - vielleicht ist es ja beim Hochfahren immer noch 12:15 - und dann sagt cron natürlich "ich bin dran..."

Londo
12.05.05, 14:41
man cron:

Daylight Saving Time and other time changes

Local time changes of less than three hours, such as those caused by
the start or end of Daylight Saving Time, are handled specially. This
only applies to jobs that run at a specific time and jobs that are run
with a granularity greater than one hour. Jobs that run more fre-
quently are scheduled normally.

If time has moved forward, those jobs that would have run in the inter-
val that has been skipped will be run immediately. Conversely, if time
has moved backward, care is taken to avoid running jobs twice.

Time changes of more than 3 hours are considered to be corrections to the clock or timezone, and the new time is used immediately.
.
.

Das heisst ja das wenn ich die Uhrzeit vorstellen alle verpassten cronjobs sofort ausgefuehrt werden oder?
Habe ich dann den gleichen Effekt wenn ich den Rechner fuer 1 Std runterfahre?
Wenn ja koennte es dann sein das bei einem Reboot der Cronjob abgeschossen wird und beim erneuten hochfahren er denkt er muesste noch ausgefuehrt werden da er nicht richtig beendet wurde?
Bischen weit hergeholt sry, aber sonst hab ich auch keine Ahnung.

Aber ne Frage haette ich noch :)
Ich will das bei mir der Server jeden Abend zu einer bestimmten Zeit heruntergefahren wird. Jedoch kommt es auch mal vor das ich ihn laenger benoetige. Das ich jetzt den Cronjob loeschen kann und spaeter wieder neu erstellen kann ist mir klar.
Gibt es eine moeglichkeit einen bestimmten Cronjob fuer Heute ausfallen zu lassen? Ihn aber dann normal weiter laufen zu lassen? Bzw. ist das mit diversten Scripts moeglich?

tschloss
12.05.05, 15:26
man cron:
Aber ne Frage haette ich noch :)
Ich will das bei mir der Server jeden Abend zu einer bestimmten Zeit heruntergefahren wird. Jedoch kommt es auch mal vor das ich ihn laenger benoetige. Das ich jetzt den Cronjob loeschen kann und spaeter wieder neu erstellen kann ist mir klar.
Gibt es eine moeglichkeit einen bestimmten Cronjob fuer Heute ausfallen zu lassen? Ihn aber dann normal weiter laufen zu lassen? Bzw. ist das mit diversten Scripts moeglich?

Idee dazu: frage im runterfahr-Skript ab, ob eine bestimmte Datei existiert und überspringe ggf. den shutdown-Befehl und lösche anschließend diese datei.
Dann kannst Du zB um 11:45 entscheiden, ob du den Reboot aussetzen möchtest und erzeugst per echo die Trigger-datei. Dann würde halt erst am nächsten Tag wieder gerebootet.

Greetz
Thomas

jtmib
12.05.05, 16:29
Ein reboot von Linux!?

Na ja.
Wenn es denn aber sein muß dann würde ich per cronttab ein Script aufrufen und mit dem Script eine at-Befehl erzeugen. Dann kann man einen Zeitversatz von mehreren Stunden oder gar Tagen beherzigen.

Genial einfach
Einfach genial


Grüßle
JTMIB

Londo
13.05.05, 15:45
Idee dazu: frage im runterfahr-Skript ab, ob eine bestimmte Datei existiert und überspringe ggf. den shutdown-Befehl und lösche anschließend diese datei.
Dann kannst Du zB um 11:45 entscheiden, ob du den Reboot aussetzen möchtest und erzeugst per echo die Trigger-datei. Dann würde halt erst am nächsten Tag wieder gerebootet.

Greetz
Thomas

Besten Dank! Habs anderst rum gemacht, der User loescht nun einfach eine Datei und dann wird heute nicht runtergefahren. :)