Überleben at-jobs einen reboot?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Überleben at-jobs einen reboot?

Beitrag von inne » 10.11.2015 07:59:49

Hallo,

ich mag jetzt nicht Neustarten, will aber wissen ob at jobs in der query (atq) einen Neustart überdauern (reboot) wenn diese noch nicht abgearbeitet sind.
Oder verfallen diese, kann das jemand beantworten?

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Überleben at-jobs einen reboot?

Beitrag von MSfree » 10.11.2015 08:37:03

At-Jobs werden als Shellscripte unter /var/spool/cron/atjobs abgelegt und zu gegebener Zeit vom cron ausgeführt. /var/spool/cron/atjobs wird durch ein Reboot nicht gelöscht, aufgereihte Jobs bleiben also bestehen.

Ich bin mir nur nicht ganz sicher, was mit Jobs passiert, die während der Downtime hätten ausgegührt werden sollen. Ich denke zwar, daß die nach dem Boot nachgeholt werden, kann es aber nicht mit letzter gewissheit sagen.

Laufende Jobs werden allerdings beim Shutdown gekillt und nicht erneut nach dem Boot ausgeführt.

Benutzeravatar
Meillo
Moderator
Beiträge: 9234
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Überleben at-jobs einen reboot?

Beitrag von Meillo » 10.11.2015 09:08:25

MSfree hat geschrieben:At-Jobs werden als Shellscripte unter /var/spool/cron/atjobs abgelegt und zu gegebener Zeit vom cron ausgeführt. /var/spool/cron/atjobs wird durch ein Reboot nicht gelöscht, aufgereihte Jobs bleiben also bestehen.
Kann ich so bestaetigen.
Ich bin mir nur nicht ganz sicher, was mit Jobs passiert, die während der Downtime hätten ausgegührt werden sollen. Ich denke zwar, daß die nach dem Boot nachgeholt werden, kann es aber nicht mit letzter gewissheit sagen.
Da bin ich mir auch nicht sicher. Das haengt vielleicht auch von der jeweiligen Implementierung ab.
Laufende Jobs werden allerdings beim Shutdown gekillt und nicht erneut nach dem Boot ausgeführt.
Schlimmer finde ich, dass fehlgeschlagene Jobs einfach weg sind. Man weiss dann leider nicht, was der Job haette machen sollen und kann ihn auch nicht nachbearbeiten und manuell ausfuehren. Dieses Problem trat bei mir bei weit in die Zukunft angesetzten Jobs auf, bei deren Startzeitpunkt das Verzeichnis, aus dem sie abgesetzt worden waren, nicht mehr exisitert hat. Aergerlich, wenn diese Jobs Erinnerungsmails haetten verschicken sollen. Die Mail von Cron, dass ``cd /whatever'' fehlgeschlagen ist, half mir da auch nicht weiter. ;-)
Use ed once in a while!

guennid

Re: Überleben at-jobs einen reboot?

Beitrag von guennid » 10.11.2015 09:34:53

Ich bin mir nur nicht ganz sicher, was mit Jobs passiert, die während der Downtime hätten ausgegührt werden sollen.
Meillo hat geschrieben:Da bin ich mir auch nicht sicher.
Ich auch nicht, meine aber zu erinnern, dass die nicht nachgeholt werden. - wäre auch vom Zweck her - nicht sinnvoll, meine ich, denn at soll ja einen Job zu einem definierten Zeitpunkt in der Zukunft ausführen. - wenn der Zeitpunkt vorbei ist, könnte es ziemlich kontraproduktiv werden, ihn nachzuholen. Besipiel: du lässt den Rechner via at zu einem bestimmten Zeitpunkt ausschalten - mache ich häufig. Kann mich nicht erinnern, dass sowas mal passiert wäre. Ich wüsste auch nicht, nach welchen Kriterien ein zeitlich festgelegter Job nachgeholt werden sollte.

Kann man aber wohl unschwer testen, um sicher zu gehen.

Grüße, Günther

[edit:] Eine "Grundsatz"frage war das jetzt aber definitiv nicht. :mrgreen:

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Überleben at-jobs einen reboot?

Beitrag von inne » 10.11.2015 10:39:33

Danke!

Das während einer downtime liegengebliebene At-Jobs nicht nachgeholt werden ist wohl richtig, die Zeit ist ja verstrichen. Das stört mich nicht und ist wohl auch das was gewollt ist (Siehe gunnid's Argumentation).

Könnt ihr noch kurz darlegen, ob stderr und stdout via Mail verschickt werden, wie bei einem regulären Cronjob? Ansonsten ist das debuggen wohl etwas schwirig.
guennid hat geschrieben: [edit:] Eine "Grundsatz"frage war das jetzt aber definitiv nicht. :mrgreen:
Dann sags Meillo, der kanns verschieben und richtig einsortieren ;-)

Benutzeravatar
Meillo
Moderator
Beiträge: 9234
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Überleben at-jobs einen reboot?

Beitrag von Meillo » 10.11.2015 12:14:33

guennid hat geschrieben: Ich auch nicht, meine aber zu erinnern, dass die nicht nachgeholt werden.
Historisch gesehen kommt at (und Unix ueberhaupt) aus einer Zeit, als man Zentralrechner hatte, die selbstverstaendlich rund um die Uhr liefen. Die Problemfaelle, die daraus resultieren, dass Rechner regelmaessig stundenlang ausgeschaltet sind, waren beim Entwurf vieler der alten Unix Services irrelevant. Das spricht dafuer, dass at keine verpassten Termine nachholt (neben dem wunderbaren Beispiel von guennid natuerlich). (Cron holt ja Termine auch nicht nach (und atd ist oft via cron umgesetzt) ... dafuer gibt es dann anacron als moderne Alternative mit anderer Semantik.)

inne hat geschrieben:
guennid hat geschrieben: [edit:] Eine "Grundsatz"frage war das jetzt aber definitiv nicht. :mrgreen:
Dann sags Meillo, der kanns verschieben und richtig einsortieren ;-)
Ist erledigt. (Wobei es ja schon um eine Grundsatzfrage ging ... nur halt nicht unbedingt um eine, die bei typischen Erstinstallationen heutzutage relevant ist. ;-) )
Use ed once in a while!

guennid

Re: Überleben at-jobs einen reboot?

Beitrag von guennid » 10.11.2015 12:29:42

Meillo hat geschrieben:Die Problemfaelle, die daraus resultieren, dass Rechner regelmaessig stundenlang ausgeschaltet sind, waren beim Entwurf vieler der alten Unix Services irrelevant.
Weswegen ich bei meinen Bedürfnissen mit cron noch nie was anzufangen wusste.
Es ist drauf, aber ob das was macht und wenn ja, was, das weiß ich nicht. Zum Runterwerfen müsste ich mich wohl erstmal intensiver damit beschäftigen, aber: siehe Satz 1. :wink:

Grüße, Günther

Antworten