[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 » 2009-07-31, 08:11

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: 2567
Rejestracja: 2005-05-21, 15:48
Lokalizacja: miasto w mieście

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

Post autor: Lizard » 2009-07-31, 14:01

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 » 2009-08-03, 07:16

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: 1105
Rejestracja: 2006-10-26, 19:03
Lokalizacja: K...l

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

Post autor: marco70 » 2009-08-03, 08:27

Wklej tu ten skrypt.
Slackware 14.0 kde 4.8.5
i5-6500 CPU @ 3.20GHz

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

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

Post autor: czezz » 2009-08-03, 10:36

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: 1105
Rejestracja: 2006-10-26, 19:03
Lokalizacja: K...l

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

Post autor: marco70 » 2009-08-03, 10:51

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 
Slackware 14.0 kde 4.8.5
i5-6500 CPU @ 3.20GHz

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

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

Post autor: czezz » 2009-08-04, 07:52

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

ODPOWIEDZ