1. 개요
- Tomcat이 제공안해주는 catalina.out Log Rotate 방법.
2. 방법
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 \
-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 \
-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
- Apache HTTP Server 에서 rotatelogs를 "$CATALINA_BASE"/bin/ 하위로 가져와야 한다.
- "$CATALINA_BASE"/bin/catalina.sh 을 열어서 수정을 하면 된다.
- catalina.sh 스크립트에서 위 설정의 굵은 글씨(Bold 처리)된 설정을 아래와 같이 변경해 주면 된다.
touch "$CATALINA_OUT"
=> # touch "$CATALINA_OUT"
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
=> org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
|"$CATALINA_BASE"/bin/rotatelogs "$CATALINA_BASE"/logs/catalina.out.%Y.%m.%d 86400 &
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&
=> org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
|"$CATALINA_BASE"/bin/rotatelogs "$CATALINA_BASE"/logs/catalina.out.%Y.%m.%d 86400 &