Tomcat 도 서비스를 시작하면 열심히 로그를 만들어 용량이 점점 방대해 집니다.
기본적으로 {CATALINA_HOME}/conf 디렉토리의 logging.properties 와 server.xml 파일 설정에 따라
{CATALINA_HOME}/logs 디렉토리에 .log .txt 식의 로그가 일자별로 쌓이므로 1주일 후에는 삭제를 할 것입니다.
그 외에 catalina.out 파일은 지속적으로 로그가 쌓여 특히 용량이 커지므로 logrotate 로 주기적인 백업을 할 것입니다.
1. 7일 지난 로그 삭제
# vi /usr/local/tomcat/logs/tomcat_log.sh ($CATALINA_HOME = /usr/local/tomcat)
#!/bin/sh
#delete files 7 days later
find /usr/local/tomcat/logs -mtime +5 -name '*.log' -exec rm -f {} \;
find /usr/local/tomcat/logs -mtime +5 -name '*.txt' -exec rm -f {} \;
2. 실행 권한 부여
# chmod u+x /usr/local/tomcat/logs/tomcat_log.sh
3. crontab 에 등록
- 스크립트 실행할 시간 지정
# vi /etc/crontab
0 5 * * * root /usr/local/tomcat/logs/tomcat_log.sh
4. catalina.out -> logrotate 등록
- 매일 7일동안 백업하도록 지정
# vi /etc/logrotate.d/tomcatd
/usr/local/tomcat/logs/catalina.out {
copytruncate
daily
rotate 7
}
5. logrotate 테스트
# logrotate -f /etc/logrotate.d/tomcatd
# ls -al /usr/local/tomcat/logs/catalina.out*
-rw-r--r-- 1 root root 0 Jan 6 18:23 /usr/local/tomcat/logs/catalina.out
-rw-r--r-- 1 root root 123123123 Jan 6 18:23 /usr/local/tomcat/logs/catalina.out.1
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.