시작/종료 쉘 스크립트는 아래처럼 작성한다.

<시작 쉘> - startServer.sh
--------------------------------------------------------------------
#!/bin/sh

Log=/home/test/test.out
DATE=`date +%Y%m%d-%H%M%S`

mv -f "$Log" "$Log_`date +%Y-%m-%d-%H%M`"

echo "#################################################" >> $Log
echo "  Test 서버를 시작합니다.."

Cnt=`ps -ex|grep "TestServer"|grep -v grep|wc -l`
PROCESS=`ps -ex|grep "Test"|grep -v grep|awk '{print $1}'`

if [ $Cnt -ne 0 ]
then
  echo "$DATE : Test 서버(PID : $PROCESS)가 이미 동작하고 있습니다." >> $Log
else
  nohup java TestServer >> $Log &
  echo "$DATE : Test 서버가 시작되었습니다." >> $Log
fi

echo "#################################################" >> $Log
--------------------------------------------------------------------

<종료 쉘> - stopServer.sh
--------------------------------------------------------------------
#!/bin/sh

Log=/home/test/test.out
DATE=`date +%Y%m%d-%H%M%S`

echo "#################################################" >> $Log
echo "  Test 서버를 종료합니다.."

Cnt=`ps -ex|grep "Test"|grep -v grep|wc -l`
PROCESS=`ps -ex|grep "Test"|grep -v grep|awk '{print $1}'`

if [ $Cnt -ne 0 ]
then
  kill -9 $PROCESS
  echo "$DATE : Test 서버(PID : $PROCESS)가 중지되었습니다." >> $Log
else
  echo "$DATE : Test 서버가 실행중이 아닙니다." >> $Log
fi

echo "#########################################" >> $Log
--------------------------------------------------------------------



<무정지 서버 시작 쉘 스크립트> - startMonitor.sh
----------------------------------------------------------------------------------
#!/bin/bash

Log=/home/test/monitor.out
DATE=`date +%Y%m%d-%H%M%S`
NORMAL_SLEEP=60     #정상시 대기 시간
PROB_SLEEP=5     #장애발생시 대기 시간(장애시 곧바로 시작하기 위해)

#Log File Rename
mv -f "$Log" "${Log}_`date +%Y-%m-%d-%H%M`"

echo "#####################################" >> $Log
echo "$DATE TestServer Monitor Start!"   >> $Log
echo "#####################################" >> $Log

while [ 1 ]
do
       DATE=`date +%Y%m%d-%H%M%S`

       Cnt=`ps -ex|grep "TestServer"|grep -v grep|wc -l`

       if [ $Cnt < 1 ]
       then
               PROCESS=`ps -ex|grep "TestServer"|grep -v grep|awk '{print $1}'`
               if [ "$PROCESS" != "" ]
               then
                       echo "$DATE : 프로세스를 종료합니다." >> $Log
                       kill -9 $PROCESS
                       wait
               fi

               echo "$DATE : Test 서버를 재 기동합니다." >> $Log
                # 여기서 서버를 재기동한다.
               startServer.sh &

               echo "$DATE : Test 서버를 재 기동 완료." >> $Log

               sleep $PROB_SLEEP

               continue

       else
               echo "$DATE : 정상 작동중 입니다." >> $Log
       fi


       sleep $NORMAL_SLEEP

done
----------------------------------------------------------------------------------

Posted by hjlee
:

성천아 받아~~

2010. 8. 21. 01:12
Posted by hjlee
:
사용자 삽입 이미지
Posted by hjlee
:

Google
 
BLOG main image
http://hjoo.org by hjlee

공지사항

카테고리

분류 전체보기 (154)
연구실생활 (9)
여 행 (8)
영어공부 (4)
취미생활 (7)
논 문 (2)
My Stories (31)
기 사 (11)
Computer (15)
즐길거리 (15)
스크랩 (3)
Web Progmming (0)
유용한 정보 (21)
KISANTEL (5)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :