지금 하고 있는 프로젝트의 WAS가 원래는 웹스피어였는데
무슨 영업적인 문제인지 경제성 때문인지는 모르겠지만 급하게 Tomcat으로 변경되었습니다.
서버담당자가 따로 없어서 제가 톰캣을 설치하고 잘 운영하고 있는데
문제는... 톰캣 log 파일인 catalina.out 파일이 한없이 커지고 있다는거죠.
벌써 10.5GB를 돌파했네요.
운영을 하면서 오류나 문제가 생기면 로그파일을 확인해서 문제를 해결하곤 하는데
이 로그파일이 너무 크다보니 문제가 생긴 부분을 찾는 것도 힘들어 지더군요.
그리고, catalina.out 파일이 100GB가 넘어가면 톰캣이 멈출 수 있다고 합니다.
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 | 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 \ -Djava.endorsed.dirs="\"$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 \ | /home/IBM/HTTPServer/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 & >> "$CATALINA_OUT" 2>&1 "&" else eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start \ | /home/IBM/HTTPServer/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 & >> "$CATALINA_OUT" 2>&1 "&" fi | cs |
그래서, 부랴부랴 위처럼 catalina.out 파일이 날짜별로 생성되도록 수정을 했습니다.
/톰캣서버/bin/catalina.sh 파일을 찾아서 "touch"로 검색을 하면 위와 같은 부분이 나오는데...
| /home/IBM/HTTPServer/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
이 부분을 추가해 주시면 됩니다.
아파치 서버의 기본 기능인 rotatelogs라는 걸 활용하는건데
문제는 rotatelogs의 설치 위치를 찾아서 그 경로를 적어줘야 한다는거죠.
즉, 위 소스에서 /home/IBM/HTTPServer/bin/rotatelogs 이 경로는 제가 사용하는 서버의 rotatelogs 위치구요.
각 서버의 rotatelogs의 위치를 찾아서 바꿔줘야 합니다.
find / -name rotatelogs
root 권한으로 위 명령어를 실행하면 rotatelogs의 위치를 찾을 수 있으니 참고하세요.
'프로그래밍 툴 > 기타' 카테고리의 다른 글
[ERD] 웹으로 ERD를 만들고 불러오는 웹ERD(aquerytool.com)를 소개합니다. (1) | 2018.05.24 |
---|---|
[eXERD] 이클립스 플러그인으로 ERD 사용하기 (0) | 2018.05.14 |
[Tomcat] 톰캣 서버 재시작 배치파일(restart.bat) 만들기 (0) | 2017.05.24 |
[PhpStorm] 빈줄 제거하기(remove empty lines) (0) | 2017.01.14 |
[Editplus] 에디트플러스에서 엔터(줄바꿈)나 탭을 다른 문자로 치환하기 (1) | 2016.08.04 |
댓글