반응형
Tomcat 로그 관리 (logrotate.d)
구분 위치 및 실행 방법 설명
데몬(위치) /usr/sbin/logrotate 데몬의 위치 및 데몬프로그램
데몬 설정파일 /etc/logrotate.conf 설정파일
설정디렉토리 /etc/logrotate.d logrotate에 적용할 각종로그파일들 보관하는 디렉토리
상황파일 /var/lib/logrotate.status logrotate한 작업내역을 보관한 파일
cron(일단위) /etc/cron.daily/logrotate logrotate는 주기적으로 실행이되어야하므로 cron에 의해 일단위로 실행이 됨
1. 30일 지난 로그 삭제
# 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 +30 -name '*.log' -exec rm -f {} \;
find /usr/local/tomcat/logs -mtime +30 -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
스크립트 경로 앞에 쓴 6개의 필드는 각각 분(minute), 시(hour), 일(day of month), 월(month), 요일(weekday) 을 의미
위와 같이 작성하면 매일 새벽 5시
4. catalina.out -> logrotate 등록
- 매일 30일동안 백업하도록 지정
# vim /etc/logrotate.d/tomcat
/home/knkcorp/server/tomcat8/logs/catalina.out {
copytruncate
daily
rotate 30
compress
missingok
notifempty
dateext
}
copytruncate : 기존 파일을 백업해서 다른 파일로 이동하고 기존 파일은 지워버리는 옵션
daily : 로그파일을 날짜별로 변환
compress : 지나간 로그파일들을 gzip으로 압축
dateext : 순환된 로그파일의 날짜확장자
missingok : 로그파일이 없더라도 오류를 발생시키지 않음
rotate 30 : 로그 파일은 30개만큼 저장된 다음 제거되거나 메일로 보내짐
notifempty : 파일의 내용이 없으면 새로운 로그 파일을 생성 안함
5. logrotate 테스트
# logrotate -f /etc/logrotate.d/tomcat
# ls -al /usr/local/tomcat/logs/catalina.out*
-rw-r----- 1 knkcorp knkcorp 15015 Jun 26 17:00 catalina.out
-rw-r----- 1 knkcorp knkcorp 104224 Jun 26 16:47 catalina.out-20170626.gz
반응형
'Web Server, WAS > Tomcat' 카테고리의 다른 글
Tomcat 메모리 설정 (0) | 2017.07.06 |
---|---|
Tomcat bash, bat JAVA_HOME 설정 (2) | 2014.03.26 |
Tomcat 원격 디버깅 (0) | 2011.03.30 |
Virtual Hosting and Tomcat Server.xml crossContext,, Muiltple (0) | 2010.06.28 |