Runlevel scripte - Scripts selbst erstellen

Aus Linupedia.org
Version vom 7. September 2006, 18:46 Uhr von Omasenkel (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Wer einen eigenen Dienst in den Boot-Ablauf einhängen möchte kann das nach folgendem Bauplan tun:

cd /etc/init.d 

dort ein beliebiges Script kopieren (oder den skeleton verwenden). Es gibt im Internet und in entsprechenden Foren schon vorgefertigte Scripte für allerlei Einsatzzwecke.

Diese Sektion muss noch angepasst werden:

### BEGIN INIT INFO 
# Provides: named 
# Required-Start: $network $remote_fs $syslog 
# Required-Stop: 
# Default-Start: 3 5 
# Default-Stop: 
# Description: Starts internet domain name server (DNS) BIND 9 
### END INIT INFO

(Beispiel von named)

Zur Erklärung der einzelnen Zeilen: Povides: <== der Name des Dienstes Required-Start: <== Liste der Dienste die VOR dem erstellten Dienst gestartet werden müssen Default-Start: <== Liste der Runlevel, in denen der Dienst gestartet wird Description: <== kurze Beschreibung des Dienstes

Danach muss das Script auch ausführbar gemacht werden, damit es auch gestartet werden kann. Das erreicht man mit

chmod +x meinScript 

Wenn dieses Attribut gesetzt ist, muss es auch noch aktiviert werden:

insserv meinScript 

Diesen Schritt kann man auch über Yast -> System -> Runlevel- Editor vollziehen.

Damit das Script auch aufgerufen werden kann, muss man noch den SuSE-spezifischen Link erstellen:

cd /usr/sbin oder cd /sbin 
ln -s /etc/init.d/meinScript rcmeinScript 

Den Test, ob das Script startet und funktioniert, kann man mit diesen beiden Befehlen machen:

rcmeinScript start
rcmeinScript stop 

Der erste startet, der zweite stoppt das Script.

Weitere Dokumentation findet man mit

man init 

TIP: Mit dem Befehl

rc_status -v 

kann das DONE, FAILED, SKIPPED etc ausgegeben werden. Wenn die Zeile der Ausgabe nicht stimmt, probiere

rc_status -v2 

damit wird die Ausgabe zwei Zeilen höher ausgegeben