• 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!
 
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.
 
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²
 
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