시간나는대로 틈틈히 정리 합시다~~!!!

[Tomcat] catalina.out 파일 날짜 별 백업 및 오래된 로그파일 삭제 (rotatelogs) 본문

IT

[Tomcat] catalina.out 파일 날짜 별 백업 및 오래된 로그파일 삭제 (rotatelogs)

열심히 정리하자!! 2021. 3. 25. 15:38
반응형

서버에 /usr/sbin/rotatelogs 파일이 있어야 사용 가능하다.

없다면 아파치를 설치하면 해당 파일도 설치된다.

 

1. 설정

[root@hostname ~]# cd /home/tomcat/apache-tomcat-8.5.51/bin
[root@hostname bin]# vi catalina.sh

 

2. 추가 입력해야 하는 값

| /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &


- 명령어 설명
  86400 => 로테이션 시간(초단위) <=> 24시간
  540 => 표준시를 한국시간으로 조정 <=> +9시간

 

3. 변경전 내용

shift
  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
      -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
      -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"

  else
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
      -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
      -classpath "\"$CLASSPATH\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"

  fi

 

4. 변경 후 내용

shift
  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
      -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
      -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      | /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
      >> "$CATALINA_OUT" 2>&1 "&"

  else
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
      -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
      -classpath "\"$CLASSPATH\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start \
      | /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
      >> "$CATALINA_OUT" 2>&1 "&"

  fi

 

5. 톰캣 재시작 하면 바로 반영 된다.

 

6. 생성된 예시

-rw-r----- 1 root root   515883442  3월 22 23:59 catalina.out.2021-03-22
-rw-r----- 1 root root  1029908830  3월 23 23:59 catalina.out.2021-03-23
-rw-r----- 1 root root  1068715221  3월 24 23:59 catalina.out.2021-03-24
-rw-r----- 1 root root   776324802  3월 25 15:37 catalina.out.2021-03-25
반응형
Comments