'분류 전체보기'에 해당되는 글 157건

  1. 2009.06.20 Log File 관리 Script
  2. 2009.06.20 SMF 실행 shell script
  3. 2009.06.20 SMF Servic 등록 XML

Log File 관리 Script

|
#!/bin/ksh
DATE=`date +%Y%m%d`
LOG_DIR="$2"
LOGFILE_NAME="$1"
BACK_LOG_DIR="$3"

# KB단위 (현재 1MB로 설정)

THRESHOLD=`ls -al ${LOG_DIR} | grep ${LOGFILE_NAME} | head -1 | awk '{ print $5 }'`
DATE_TIME=`date +%Y-%m-%d" "%H:%M:%S`
i=2
size=1024000
if [ $THRESHOLD -gt $size ]
then
    while [ i -gt 0 ]
    do
        if [ ! -s ${BACK_LOG_DIR}${LOGFILE_NAME}.0 ]
        then
            cp -p ${LOG_DIR}${LOGFILE_NAME} ${BACK_LOG_DIR}${LOGFILE_NAME}.0
            echo "==============================================================" >> ${BACK_LOG_DIR}${DATE}.log
            echo "$DATE_TIME cp -p $LOG_DIR$LOGFILE_NAME $BACK_LOG_DIR$LOGFILE_NAME.0 완료"  >> ${BACK_LOG_DIR}${DATE}.log
            echo "$DATE_TIME 원본 로그파일용량을 0으로 하였습니다. Not Ex" >> ${BACK_LOG_DIR}${DATE}.log
        else
            if [ ! i -eq 1 ]
            then
                cp -p ${BACK_LOG_DIR}${LOGFILE_NAME}.`expr "$i" "-" "2"` ${BACK_LOG_DIR}${LOGFILE_NAME}.`expr "$i" "-" "1"`
                chmod 666 ${BACK_LOG_DIR}${LOGFILE_NAME}.`expr "$i" "-" "1"`
                echo "==============================================================" >> ${BACK_LOG_DIR}${DATE}.log
                echo "$DATE_TIME cp -p ${BACK_LOG_DIR}${LOGFILE_NAME}.`expr "2" "-" "2"` ${BACK_LOG_DIR}${LOGFILE_NAME}.`expr "2" "-" "1"` 완료" >> ${BACK_LOG_DIR}${DATE}.log
            fi
        fi
        let i=i-1
    done

    if [ -s ${BACK_LOG_DIR}${LOGFILE_NAME}.0 ]
    then
        cp -p ${LOG_DIR}${LOGFILE_NAME} ${BACK_LOG_DIR}${LOGFILE_NAME}.0
        cat /dev/null > ${LOG_DIR}${LOGFILE_NAME}
        echo "==============================================================" >> ${BACK_LOG_DIR}${DATE}.log
        echo "$DATE_TIME cp -p $LOG_DIR$LOGFILE_NAME $BACK_LOG_DIR$LOGFILE_NAME.0 완료"  >> ${BACK_LOG_DIR}${DATE}.log
        echo "$DATE_TIME원본 로그파일용량을 0으로 하였습니다." >> ${BACK_LOG_DIR}${DATE}.log
    fi
fi

logic순서
원본 file의 용량이 1M인지 확인
1M일경우 원본.0의 이름으로 복사후 원본 size를 0으로 만든다.
이런 방법으로 원본 file 포함 3개의 file로 관리 한다.

And

SMF 실행 shell script

|


(oracle DataBase와 관련되어 실행 된다면 해당 값을 script에 포함한다. strat하기 전에 해당 값을 설정)
열쉬미 coding해 놓고 실행안된다고 징징거리지 말고 실행권한 확인~!
chmod 755 scirpt이름
!!!!
And

SMF Servic 등록 XML

|


Service Name
/var/svc/manifast/
이후에 있는 경로의 이름(file명)정도로 주면 되겠다.

dependency
의존을 의미하며 어떠한 Service가 실행 되었을 경우 실행한다는 정도의 의미
즉 어떤 Service에 의존 하고 있는가를 의미한다.
보통 Database나 통신관련 Service를 여기에 걸어 두면 되겠다.
(dependency 설정시 single_instance가 아닌 mualti_instance 설정)
dependency name 'multi-user-server' -> RunLevel 3를 의미한다.
single-user 등 RulLevel2나 1도 설정 가능하다

exec_method
실행되는 script를 여기서 설정해 준다.
SMF의 시작, 종료, 재시작등을 여기서 설정해 준다.
name 속성으로 start나 stop등이 있다.
start : shell script에서 정상적으로 시작했다는 속성값이 넘어왔을때 onlie상태가 된다.
stop : 종료시 해당되는 process가 실행중일 경우 service에서 강제적으로 process를 kill한다.
(정상 종료를 위해서 script에서 process를 찾아 kill해주면 된다.)
refresh : process가 정상적으로 실행은 됬으나 오류가 생겼을경우 다시 refresh 한다.
(이때도 process를 kill 한 이후 다시 실행해 주는 script를 사용한다.)

property_group의 propval value 'core,signal'
실행중인 process가 core dump를 한후 죽거나 signal발생으로 죽은경우
다시 재 실행한다.


And