[Debian] Apache & MySQL startskript

seim

seim

seim oder nicht seim?
Hi,
hab mal sowas gemacht
Code:
#! /bin/sh

case "$1" in
        start)
        /usr/local/apache2/bin/./apachectl start
        /usr/local/mysql/share/mysql/./mysql.server start
                ;;
        stop)
        /usr/local/apache2/bin/./apachectl stop
        /usr/local/mysql/share/mysql/./mysql.server stop
                ;;
        restart)
        /usr/local/apache2/bin/./apachectl restart
        /usr/local/mysql/share/mysql/./mysql.server restart
                ;;
esac

aber das geht nich so richtig:
Code:
server:/usr/local# ./web stop
: bad interpreter: Datei oder Verzeichnis nicht gefunden
server:/usr/local#

die befehle einzeln funktionieren allerdings ?(
 
Füge doch mal folgende Zeile zu deinem Script hinzu (direkt unter #! /bin/sh)
Code:
set -x
Das sollte dir die aktuell bearbeitete Zeile mitausgeben. Vielleicht hilft das ja, den Fehler zu lokalisieren.
 
kommt trotzdem nur die Meldung mit dem bad interpreter...


is das vom script her überhaupt so korrekt? kennt sich da jmd aus?
 
Einen Tip und eine Frage hätte ich da noch

Nimm mal den space zwischen ! und /bin/sh raus. (Obwohl es bei mir mit und ohne Space klappt)

Und nun meine Frage: Bei mir ist /bin/sh nur ein Link auf die bash. Wie schaut es bei dir aus?

Wenn ich als Interpreter eine Shell eintrage, die auf meinem System nicht installiert ist, bekomme ich auch den Fehler. Mit einer existierenden Shell funktioniert es.
 
Ich habe eine andere "dumme" Frage. Warum verwendest Du nicht /etc/init.d/apache2 (start¦stop¦restart)?
 
Warum verwendest Du nicht /etc/init.d/apache2 (start¦stop¦restart)?
Ich glaube er will einfach nur *sowohl* Apache *als auch* MySQL in einem Rutsch starten... wobei ich glaube ich einfach beide Start-Zeilen in ein Shellscript getan hätte und fertig...
 
@analyzer: ich hab das nicht per apt-get installiert deshalb habe ich das script nicht und ich will das auch zusammen starten ;)

@grey:
es stimmt schon das es nur eine verlinkung ist, läuft aber auch nicht wenn ich
#! /bin/sh oder #!/bin/sh
eintrage
 
Hat Dein Script vielleicht DOS-artige Zeilenenden, also cr,lf statt nur lf? Im Zweifelsfall z. B. mit od -c überprüfen, ggf. mit recode ibmpc..lat1 korrigieren.
 
ich bin so dähmlich :))

Code:
vim web
Code:
#!/bin/sh

case "$1" in
        start)
          /usr/local/apache2/bin/apachectl start
          /usr/local/mysql/share/mysql/mysql.server start
          echo $echo_n "Starting.."
        ;;
        stop)
          /usr/local/apache2/bin/apachectl stop
          /usr/local/mysql/share/mysql/mysql.server stop
          echo $echo_n "Stoping.."
        ;;
        restart)
          /usr/local/apache2/bin/apachectl restart
          /usr/local/mysql/share/mysql/mysql.server restart
          echo $echo_n "ReStarting.."
        ;;
esac
exit 0
~
~
~
"web" [dos] 20L, 567C                                         1,1         Alles

Code:
"web" [dos] 20L, 567C

:D
 
Code:
perl -lne '(/\r/)?print "Windowgeek":1'  file
;)]
 
jetz mal so Teil 2 vom Problem...

ich hab das jetz einfach mal in /etc/init.d kopiert.. das müsste (tut's nich^^) doch jetz laufen beim systemstart?
 
Nein,

natürlich kann das so nicht laufen.

Woher soll das System wissen, das du das Ding starten willst?

Du musst das Script noch in den runlevel verlinken in dem es gestartet werden soll, z.b. so:

Code:
ln -s /etc/rc2.d/S99Web /etc/init.d/web

(S = Start, 99 = starte erst nachdem alle anderen Skripte für dieses runlevel gestartet wurden)
 
war das nicht umgekehrt?
erst das Ziel und dann der Ort wo der Link dann sein soll

Code:
ln -s ../init.d/webservices /etc/rc2.d/S99Webservices

und thx, das funktioniert nu ;)
 

Ähnliche Themen

ip6tables Problem

Adressvergabe in anderen Subnets

Apache Log-Meldung File does not exist

Runlevel Editor

dovecot und postfix Konfiguration Problem

Zurück
Oben