리눅스 응용프로그램 자동 부팅 하게 하는 법 |
|
리눅스에서 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, 등에는 없는 스크립터 이다
'Infrastructure' 카테고리의 다른 글
Vista 에서 Visual Basic 6으로 작성된 프로그램을 돌릴때 comdlg32.ocx 에러 뜰때 (0) | 2009.09.03 |
---|---|
UNIX 설치 관련 (0) | 2009.09.03 |
공개 웹방화벽(WebKnight) 기술문서 정리 (0) | 2009.08.27 |
SelfSSL과 SelfCert를 이용한 인증서 설치 (0) | 2009.08.27 |
TRAC (0) | 2009.08.19 |