Jan Trippler wrote:
On Mit, Mär 21, 2001 at 12:08:48 +0100, Robert wrote:
Was soll ich tun, wenn ich aber ein Skript erst nach z. B. einer Minute starten will, nach dem der Rechner hochgefahren ist? Mit sleep funktioniert es nicht, da der ganze Rechner wie eingefroren ist, man kann sich nicht mal lokal einloggen. [...] Dir könnte at (man at) helfen,
Du denkst an echo SCRIPTNAME | at now+1min o.ä.? Sollte eigentlich kein Problem sein.
geht aber nur dann, wenn der atd bereits läuft.
Sonst auch. Das at-Kommando legt den Job nur als Datei in einem Spool-Verzeichnis ab und versucht anschließend, den atd durch ein Signal darauf aufmerksam zu machen, daß sich da etwas geändert hat. Letzteres funktioniert ohne laufenden atd natürlich nicht und produziert eine Fehlermeldung, aber der Job existiert schon. Sobald der atd dann gestartet wird, kümmert er sich darum, es geht also nichts verloren.
Andere Möglichkeit: Lass das Skript beim Hochfahren eine Datei mit Zeitstempel z. B. in /var/run erzeugen und werte diese Datei durch einen cron-Job aus, der alle x Minuten läuft. Bei Zeitdifferenz >= 1 Minute startest Du den Job und löschst die temp. Datei. Das ist zwar ein wenig oversized, aber es sollte laufen ;-)
Aber wirklich nur ein wenig ;-) Das wäre dann ähnlich dem Prinzip, das SuSE benutzt, um die regelmäßigen cron-Jobs sicherzustellen. Aber für ein einziges Skript, das nur einmal nach einer bestimmten Verzögerung ausgeführt werden soll, sollten wir lieber beim einfachen Im-Hintergrund-Starten bleiben... Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/