[Rozw.] linkowanie /etc/init.d

Te, które nie mieszczą się w powyższych kategoriach, a mają coś wspólnego ze Slackware.

Moderatorzy: Moderatorzy, Administratorzy

czezz
Użytkownik
Posty: 265
Rejestracja: 2004-10-01, 15:23
Lokalizacja: W-wa

[Rozw.] linkowanie /etc/init.d

Post autor: czezz »

Problem dotyczy Red Hat'a dlatego piszę trochę z boku:
Red Hat 5.3. Zainstalowałem na nim Oracle. Stworzyłem w /etc/init.d skrypt startowy.
Przetestowałem ręcznie - działa:

Kod: Zaznacz cały

# /etc/init.d.oracle.sh 
Usage: /etc/rc.d/rc2.d/S99dbora start|stop|restart|reload 

# /etc/init.d.oracle.sh start
starting Oracle...

# /etc/init.d.oracle.sh stop
stopping Oracle...
Ok, więc zostało mi podlinkowanie skryptu do /etc/rc.d/rc3.d oraz /etc/rc.d/rc0.d

Kod: Zaznacz cały

ln -s /etc/init.d/oracle.sh /etc/rc.d/rc2.d/S99dbora
ln -s /etc/init.d/oracle.sh /etc/rc.d/rc0.d/K10dbora
Dzięki tej czynności przy starcie systemu zostanie również wystartowany Oracle i analogicznie przy składaniu systemu.
I tu pojawia się problem:
Oracle nie startuje się bo żąda dostarczenia parametru start|stop|restart|reload
Skrypt do startu np. ssh jest zbudowany na podobnej logice, ale podczas startu systemu nie prosi o dostarczenie parametru.

Co robię nie tak ? Dlaczego inne skrypty wykonują się bez "start" a ten jeden nie ?
Ostatnio zmieniony 2009-08-04, 07:52 przez czezz, łącznie zmieniany 1 raz.
Awatar użytkownika
Lizard
Moderator
Posty: 2629
Rejestracja: 2005-05-21, 15:48
Lokalizacja: miasto w mieście

Re: [Rozw.] linkowanie /etc/init.d

Post autor: Lizard »

czezz pisze:Skrypt do startu np. ssh jest zbudowany na podobnej logice, ale podczas startu systemu nie prosi o dostarczenie parametru.
Oto podpowiedź. Sprawdź co i w jaki sposób wywołuje skrypt ssh w /etc/init.d oraz sam skrypt uruchamiający tego demona.
Error 404 - footer not found
czezz
Użytkownik
Posty: 265
Rejestracja: 2004-10-01, 15:23
Lokalizacja: W-wa

Re: [Rozw.] linkowanie /etc/init.d

Post autor: czezz »

Nie wiem o co Ci chodzi ?
W każdym razie miałem na myśli, że wszystkie skrypty w /etc/init.d mają budowę typu start|stop|restart, a mimo to po zlinkowaniu do /etc/rc/d/rc2.d lub /etc/rc/d/rc3.d uruchamiają się przy starcie systemu bez parametru.

Mój przypadek jest o tyle dziwny, że już nie raz dodawałem skrypty startowe i zawsze działały. Nie mam pojęcia czemu teraz nie chce ? :(
Awatar użytkownika
marco70
Moderator
Posty: 1110
Rejestracja: 2006-10-26, 19:03
Lokalizacja: K...l
Kontakt:

Re: [Rozw.] linkowanie /etc/init.d

Post autor: marco70 »

Wklej tu ten skrypt.
slackware64-15.0
czezz
Użytkownik
Posty: 265
Rejestracja: 2004-10-01, 15:23
Lokalizacja: W-wa

Re: [Rozw.] linkowanie /etc/init.d

Post autor: czezz »

Napisany najprościej jak się da. Wykonany z "ręki" działa:

Kod: Zaznacz cały

#!/bin/bash
ORA_HOME="/oracle/product/10g"
ORA_OWNR="oracle"
case "$1" in
    start)
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c "$ORA_HOME/bin/dbstart $ORACLE_HOME"
        ;;
    stop)
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c "$ORA_HOME/bin/dbshut $ORACLE_HOME"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0
Awatar użytkownika
marco70
Moderator
Posty: 1110
Rejestracja: 2006-10-26, 19:03
Lokalizacja: K...l
Kontakt:

Re: [Rozw.] linkowanie /etc/init.d

Post autor: marco70 »

A tak

Kod: Zaznacz cały

#!/bin/bash
ORA_HOME="/oracle/product/10g"
ORA_OWNR="oracle"
case "$1" in
    start)
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c "$ORA_HOME/bin/dbstart $ORACLE_HOME"
        ;;
    stop)
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c "$ORA_HOME/bin/dbshut $ORACLE_HOME"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        ;;  
esac 
slackware64-15.0
czezz
Użytkownik
Posty: 265
Rejestracja: 2004-10-01, 15:23
Lokalizacja: W-wa

Re: [Rozw.] linkowanie /etc/init.d

Post autor: czezz »

A tak to zupełnie co innego :D.
Dzięki - teraz działa.
ODPOWIEDZ