아키텍처와 함께

블로그 이미지
by gregorio
  • Total hit
  • Today hit
  • Yesterday hit

Apache에서 rotatelogs를 이용하여 로그 파일을 매일 Rotation할 수 있다.

그러나 로그 파일이 날찌별 동일 디렉토리에 생성되기 때문에  월별로 디렉토리를 생성하여 로그 백업이 필요한 경우 사용할 수 있다.


먼저 shell을 작성한다.


■logback.s


#!/bin/sh


CUR_DATE=`date +"%Y%m%d"`

LOG_FILE=log_cron_$CUR_DATE.log

LOG_HOME=/logs001/apache

LOG_BACK_DIR=$LOG_HOME/`date +"%Y%m"`

ACCESS_LOG_FILE=$LOG_HOME/access_$CUR_DATE.log

ERROR_LOG_FILE=$LOG_HOME/error_$CUR_DATE.log

HEALTH_LOG_FILE=$LOG_HOME/health_$CUR_DATE.log


#Make log backup directory

if [ ! -d $LOG_BACK_DIR ]; then

    echo "$LOG_BACK_DIR is created" >> $LOG_FILE

    mkdir $LOG_BACK_DIR

fi


#Move log file to backup directory

for entry in $LOG_HOME/*

    do

        if [ ! -d $entry ]; then

            if [ $entry != $ACCESS_LOG_FILE ] &&

               [ $entry != $ERROR_LOG_FILE ] &&

               [ $entry != $HEALTH_LOG_FILE ]; then

                echo "$entry is moved to $LOG_BACK_DIR" >> $LOG_FILE

                #mv $entry $LOG_BACK_DIR

            fi

        fi

    done 


Shell  작성이 완료되었으면 Crontab에 등록하여 주기적으로 shell을 실행하도록 한다.


crontab -e 명령을 이용하여 cron에 Job을 등록한다.



10 0 * * * /engn001/script/logback.sh 


매일 0시 10분에 logback.sh가 실행된다.


Crontab 등록 완료되었으면 crontab -l을 이용하여 등록된 내용을 확인한다.



AND

ARTICLE CATEGORY

분류 전체보기 (56)
Spring Framrwork (33)
Linux (1)
APM (1)
Java (8)
python (0)
ant (1)
chart (1)
OS (1)
tomcat (1)
apache (1)
database (0)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

ARCHIVE

LINK