• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Startscript funzt nicht

Hallo ......ja ja ich schon wieder :)

Also neben vielen Versuchen mit Linux klar zu kommen kommt mal wieder was neues auf mich zu.

Folgendes :

Ich habe auf meinem Linux-Rechner einen Cardserver für Prem...W...laufen ...

Diesen starte ich momentan immer von Hand.

Das Programm liegt in /usr/local/sbin

Aufgerufen wird es mit cardserver [-b] [-c config-file]


b=im Hintergrund
c=Ort des configfiles ( in meinem Fall /usr/local/etc )

Also habe ich mir ein Script geschrieben :

#!/bin/bash

cardserver -b -c /usr/local/etc/cardserver.conf

Das Script selbst habe ich in /usr/local/sbin abgelegt

Dann einen link in /etc/init.d/rc3.d/start_cs

Vorher natürlich das Script ausführbar gemacht

Wenn ich nun mit : sh /etc/init.d/rc3.d/start_cs das Script ausführe klappt es wunderbar -das Programm startet.

Der standart Runlevel bei mir ist auf 3 aber beim starten wird das Programm nicht getartet.

In /var/log/boot.msg kann ich auch keinen Hinweis auf einen Abbruch finden.


Weiß jemand Rat ???


Gruß
Wurzelx²
 

towo

Moderator
Teammitglied
Was hat das im Forum Boot-Manager, Festplatten, Partitionen zu suchen? Ich verschieb's mal ins Konsolen-Forum!
 

stka

Guru
Du kannst nicht einfach ein x-belibiges Skript beim wechsel in eine Runlevel starten. du musst ein entsprechend runlevel-skript erstellen hier mal als Beispiel ein Skript mit dem namen "cardserver".
Code:
#!/bin/sh

PROG=/usr/local/sbin/cardserver
PARAMETE= "-b -c /usr/local/etc/cardserver.conf"


case "$1" in
'start')
        echo "Starting cardserver";
        $PROG $PARAMETER
        ;;

'stop')
        echo "Stopping cardserver";
        killall $PROG
        ;;

*)
        echo "Usage: $0 { start | stop }"
        exit 1
        ;;

esac
exit 0
Das Skript sollte im Verzeichnis /etc/init.d stehen und ausführbar sein. Dann ins Verzeichis /etc/init.d/rc3.d wechseln und einen Link mit
Code:
ln -s ../cardserver S99cardserver
erzeugen.
Jetzt sollte der "cardserver" beim booten starten.
 

oc2pus

Ultimate Guru
liest du hier:
[HOWTO] runlevel scripte - selber erstellen
http://www.linux-club.de/viewtopic.php?t=16069

steht dick fett und gross im FAQ Forum !!!!
lesen und lernen :)
 
Oha ....da hab ich jetzt ordentlich was abbekommen :)


Danke für die Tips , werde mir das FAQ nochmal zu Gemüte führen.


Prinzipiel muss also jedes Script im init.d Verzeichniss stehen und ein Link in den jeweiligen Runlevel vorhanden sein , hab ich das richtig verstanden ?


Gruß
Wurzelx²
 

oc2pus

Ultimate Guru
ja, aber DU sollst NICHT an den links rumfrickeln, das macht das Programm insserv für dich.

DU definierst nur was vor deinem Dienst alles gebraucht wird und in welchen Run-Leveln du den Dienst brauchst. Den Rest macht insserv. Klar?
 
Oben