Init.d Script-Problem

Lord Alien

Lt. Junior Grade
Registriert
Apr. 2007
Beiträge
258
Hallo Community,

ich möchte in der Lage sein Shell-Scripte beim Hoch oder Runterfahren vom System ausführen zu lassen. Dafür bin ich jetzt bei Init.d-Scripts hängen geblieben. Nach ein bisschen README und Man-Pages lesen bin ich über die Datei "skeleton" gestolpert und hab dieses für meine spartanischen Zwecke gekürzt:
Code:
#! /bin/sh
# Author: User

#
# Function that starts the daemon/service
#
do_start()
{
	/usr/bin/uptime >> /home/user/Dokumente/log-datei/system.txt
}

#
# Function that stops the daemon/service
#
do_stop()
{
	/usr/bin/uptime >> /home/user/Dokumente/log-datei/system.txt
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {}

case "$1" in
  start)
	do_start
	;;
  stop)
	do_stop
	;;
  *)
	echo "Usage: time {start|stop|}" >&2
	exit 3
	;;
esac

:

Die Rechte hab ich auf 755 gesetzt (hab ich mir einfach bei den andernen Init.d-Scripts abgeschaut). Soweit so gut. Nun kann ich das Script über "/etc/init.d/time start" bzw. stop aufrufen und er tut auch das was er soll!

Jetzt kam der Punkt mit dem automatisch Ausführen. Dafür habe ich mir angeschaut in welches Runlevel mein eeebuntu hochfährt, mit:
Code:
root@netbook:/# runlevel
N 2
root@netbook:/#
Nun habe ich über ein "ln -s /etc/rc2.d/S03time /etc/init.d/time" und entsprechend ein "ln -s /etc/rc2.d/K03time /etc/init.d/time" einen Link in das Runlevel gemacht.

Und jetzt kommt der Hacken: Beim Hochfahren schreibt er etwas in die Datei "system.txt" ABER beim Herrunterfahren passiert nichts :mad:

Leider finde ich auch in den Log-Dateien: /var/log/kernel.log /var/log/messages und /var/log/syslog nichts über das Ausführen der Init.d-Scripts und sehe deshalb absolut keinen Grund warum er das Script beim Hochfahren ausführt und beim Runterfahren nicht?!?

Hoffe mir kann da jmd. weiterhelfen.

mfg
Alien
:alien_alt:
 
Vermutlich geht er in ein anderes Runtime level BEVOR das script angefahren wird. Evenutell funktionieren deine script-Einträge zu dem Zeitpunkt dann nicht mehr.

Versuch es doch mal mit Runtime level 6 einzutragen.
 
WoW, hätte nicht gedacht das da doch noch jmd. antwortet ;)

Habe inzwischen selbst den Fehler gefunden: Ich muss (wie du auch richtig gesagt hast) auch noch in mein Runlevel 6 (reboot) und Runlevel 1 (halt) einen Link machen, damit eben beim Herunterfahren das Script aufgerufen wird.

Warum mein Kill-Script beim Runlevel wechsel nicht aufgerufen wird, weiß ich auch nicht. Laut Dokumentation sollte es ja so sein .... Aber gut, es funktioniert auch so.
 

Ähnliche Themen

Zurück
Oben