OS & Server/Linux
[Apache Tomcat] 톰캣 일자별 로그 나누기
주리니e
2022. 7. 19. 14:08
728x90
[Apache Tomcat] 톰캣 일자별 로그 나누기
Apache 와 Apache Tomcat을 연동하여 사용하다보면 톰캣의 로그(catalina.out)가 일자별로 쌓이지 않고 하나의 파일로 계속 쌓이게 된다. 이 로그파일은 나중에 무분별하게 커져 서버가 셧다운될 수 있으니 Apache의 rotatelogs 기능을 사용하여 일자별로 나누어보자. rotatelogs를 찾을 수 없는 경우에는 Apache(httpd)를 설치해준다.
# rotatelogs 찾기
$ find / -name rotatelogs
/usr/sbin/rotatelogs
# 톰캣 홈의 bin 디렉토리로 이동
$ cd /usr/share/tomcat10/bin
$ vi catalina.sh
1. touch "$CATALINA_OUT" 을 찾아 주석처리한다.
#touch "$CATALINA_OUT
2. 1번 주석처리 부분을 대신해 echo "Do not touch $CATALINA_OUT" 를 넣는다 (if문 안에 빈값인 경우 오류발생)
echo "Do not touch $CATALINA_OUT"
3. >> "$CATALINA_OUT" 2>&1 "&" 을 주석처리한다.
#>> "$CATALINA_OUT" 2>&1 "&"
4. 3번 주석처리 부분을 대신해 2>&1 "&" | /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 & 을 삽입한다.
2>&1 "&" | /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
# 톰캣 재시작
$ service tomcat restart
톰캣을 재시작하면 위 사진과 같이 catalina.out.2022-07-19 처럼 앞으로는 일자별로 로그가 저장된다.
728x90