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
반응형