리눅스 응용프로그램 자동 부팅 하게 하는 법

 

리눅스에서 apache, mysql, Informix 등 기타 등등… 프로그램을 리부팅과 함께 자동으로 올라 오게 하는 방법은 다음과 같다.

 

1.     리눅스에 기본적으로 탑재 되어 있는 유틸리티를 이용하는 경우

2.     수동으로 파일에 입력 시켜 응용프로그램을 실행 시키는 법

 

첫번째 방법을 이용하는 법

#ntsysv

         박스 창이 뜰것이다.. 여기에 아파치 및 기타 등등…

         있으며, 화살표 키로 이동 시켜 스페이스바로 체크 하고 저장 하면 자동으로 부팅시 올라 오게 된다.

 

 

두번째 방법을 이용하는 법

#cd /etc/rc.d  밑에 가보면 rc.local 이란 파일이 있다.

여기에 가장 마지막 줄에 가서 아파치를 실행 시키고 싶다면.. 다음과 같이 하고 저장하면 된다.

 

        /usr/local/apache/bin/apachectl restart

 

라고 기입하면 된다. 기타 응용 프로그램도 위와 같은 형태로 만들어 주면 된다.

 

 

SUN 에서 응용 프로그램 부팅시 띄우기

 

/etc/init.d 밑에 부팅 할 때 올리고자 하는 응용프로그램 스크립터를 작성 한다. 그리고 /etc/rc2.d 밑에는 S**** 로 시작하는 화일명으로 심블릭 링크를 걸어 주면 된다.

다음 예제는  ibcweb에 있는 아파치 데몬 자동 부팅 되는 것이다.

 

#!/sbin/sh

#

# Copyright (c) 1997 by Sun Microsystems, Inc.

# All rights reserved.

#

state="$1"

 

if [ -z "$_INIT_RUN_NPREV" -o -z "$_INIT_PREV_LEVEL" ]; then

        set -- `/usr/bin/who -r`

        _INIT_RUN_NPREV="$8"

        _INIT_PREV_LEVEL="$9"

fi

 

[ $_INIT_RUN_NPREV != 0 ] && exit 0

 

case "$state" in

'start')

        [ $_INIT_PREV_LEVEL = 2 -o $_INIT_PREV_LEVEL = 3 ] && exit 0

        echo 'Starting process Apache'

        /user1/apache/bin/apachectl start

        ;;

'stop')

        echo 'Stopping process Apache'

        /user1/apache/bin/apachectl stop

        ;;

*)

        echo "Usage: $0 { start | stop }"

        exit 1

        ;;

esac

exit 0

 

HP-UX상에서의 응용프로그램 자동 실행법

 

다음은 HP-UX 상에서 응용 프로그램 자동으로 올라오는 법이다.

) HP-UX 상에서의 oracle 자동으로 가동 및 중지 시키기..

 

먼저, sbin/init.d 밑에 oracle 이란 스크립터를 만든다. 다음은 oracle 파일의 스크립터 내용이다.

____________________________________________________________________________________

#!/sbin/sh

#
export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/816

export ORACLE_SID=CMUORA8

export ORACLE_OWNER=oracle

export ORACLE_TERM=vt100

export TMPDIR=$ORACLE_BASE/tmp

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS33=$ORACLE_HOME/ocommon/nis/admin/data

export NLS_LANG=American_America.KO16KSC5601

export PATH=$PATH:.:$ORACLE_HOME/bin:/usr/bin:/sbin:/usr/ccs/bin

export SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib64:/usr/lib:/usr/ccs/lib

rval=0

 

if [ -f /etc/rc.config ]

then

./etc/rc.config

else

echo “ERROR: /etc/rc.config defaults file MISSING”

exit 1

fi

case “$1” in

start_msg)

echo “Start ORACLE”

;;

‘start’)

if [“$START_ORACLE”-EG 1 ]

then

if [$? –eq 0 ]

then

echo “ORACLE starting”

/usr/bin/su oracle –c $ORACLE_HOME/bin/dbstart

/usr/bin/su oracle –c “$ORACLE_HOME/bin/lsnrctl start”

else

echo “Unable to start ORACLE”

rval=1

fi

else

#skip activation of ORACLE

rval=2

fi

;;

‘stop’

if [“$START_ORACLE” –eq 1]

then

#/usr/bin/nohup /etc/stopdb

 

if [ $? Eq 0 ]

then

echo “ORACLE stopped”

/usr/bin/su oracle –c “$ORACLE_HOME/bin/lsnrctl stop”

/usr/bin/su oracle –c “$ORACLE_HOME/bin/dbshut”

else

echo “Unable to stop ORACLE“

rval=1

____________________________________________________________________________________

위와 같이 집어 넣어야 한다. 이것으로 끝인가…  아니다.

이 파일을 작성한 다음 또 필요한 일이 있다.. 그럼.. 보기로 하자.

 

이 파일을 /sbin/rc2.d 에 S9999oracle에 심블릭 링크가 되어야 한다.

 

, sbin/rc2.d/S999oracle@ 가 되어 있어야 하는 것이다.

이것은 어떻케 만드냐면 ln –s /bin/init.d/oracle S999oracle 을 /sbin/rc2.d 디렉토리에서 만들어야 한다는 것이다.

 

#cd /bin/init.d/oracle

#ln –s /bin/init.d/oracle  S999oracle

요러케 하면 만들어 진다. 이것으로 끝인가.. 아니다.. 위엣 것은 OS 가 부팅 되면서 ORACLE 이 자동으로 시작 되게 한 것이라면… OS 가 shutdown 될때 oracle이 죽어야 하는 경우에 대하여서는 정의가 되어 있지 않다..

따라서, 이번에는 oracle이 자동으로 shutdown되는 것을 정의해 보자..

#ln –s /sbin/rc2.d/K999oracle@ 이란 파일을 만드는데.. 이것도 /sbin/init.d/oracle이란 파일에 심블릭 링크가 걸려 있어야 한다.

 

#cd /sbin/rc2.d 디렉토리로 먼저 간다.

#ln –s /sbin/init.d/oracle K999oracle    요렇케 하면 된다.. 쉽다..

 

그리고 마지막으로 해야 할 일이 있는데 잘 보아야 할것이다.

#cd /etc/rc.config.d 밑으로 가서 해주어야 할 일이 있는데 다음과 같다.

#vi oracle

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#!/sbin/sh

#@(#)

START_ORACLE=1

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

이 스크립터를 만들어 주어야 한다. 이것은 HP-UX에 만 있는 것으로 SUN, LINUX, 등에는 없는 스크립터 이다

+ Recent posts