init-Script verzögert ausführen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Moppedboy
Beiträge: 59
Registriert: 09.07.2003 20:03:27

init-Script verzögert ausführen

Beitrag von Moppedboy » 20.04.2007 20:07:53

Hallo zusammen,

weil netatalk so lange zum Starten braucht, würd ich das Script gerne erst dann ausführen, wenn der Rechner läuft. Hat jemand 'nen Tipp, wie ich das am schlausten mache?

(Einfach "sleep 180" am Anfang des Scripts hat den Nachteil, dass ich dann bei einem Neustart des Dienstes eben auch warten müsste...)

Danke schonmal!

Cheerz Lars

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 20.04.2007 20:46:33

hallo auch,

dann sleep eben solange, bis das System z.B. 180 Sekunden laeuft
und danach nicht mehr:

Code: Alles auswählen

#!/bin/bash

UPTIME=$( cat /proc/uptime | cut -d '.' -f 1 )
DELAY=$(( 180 - UPTIME ))
test $DELAY -gt 0 && sleep $DELAY
Aber wahrscheinlich bremst das den Boot-Vorgang auch,
weil die Init-Scripte nacheinander abgearbeitet werden.
Beware of programmers who carry screwdrivers.

Moppedboy
Beiträge: 59
Registriert: 09.07.2003 20:03:27

Beitrag von Moppedboy » 21.04.2007 17:57:23

cosmac hat geschrieben:
dann sleep eben solange, bis das System z.B. 180 Sekunden laeuft
und danach nicht mehr:

Code: Alles auswählen

#!/bin/bash

UPTIME=$( cat /proc/uptime | cut -d '.' -f 1 )
DELAY=$(( 180 - UPTIME ))
test $DELAY -gt 0 && sleep $DELAY
Aber wahrscheinlich bremst das den Boot-Vorgang auch,
weil die Init-Scripte nacheinander abgearbeitet werden.
Jepp, diese Gedankengänge hatte ich auch...

Hab aber inzwischen eine elegantere Lösung gefunden: In der /etc/default/netatalk lässt sich einstellen, dass der Vorgang im Hintergrund ablaufen soll :-)

Code: Alles auswählen

# Control whether the daemons are started in the background
ATALK_BGROUND=no
Einfach "yes" statt "no", fertig. Herrlich!

Kleiner Wermutstropfen: Beim Start/Neustart des Dienstes, hat man keine Rückmeldung mehr.

Vielleicht mach ich mir noch ein Script, das beim runter- bzw. hochfahren die /etc/default/netatalk abändert (zwei versch. Versionen umkopiert). Andererseits: draußen ist Frühling :-)

Ciao und danke!
Lars

Antworten