Server/Tomcat

톰캣 로그 안생기게 하기 및 지난 로그 삭제 배치 설정

나쁜천사1004 2024. 7. 5. 13:13

톰캣 로그 안생기게 하기

catalina.out나 localhost_access_log.yyyy-mm-dd.txt 는 유용하나 아무 내용도 없는 host-manager.log 와 manager.log는 굳이 쌓을 필요가 없을 것 같아 아예 생성이 되지 않게 하려고 한다.

그 때 확인 해야 하는 곳은 /tomcat/conf/logging.properties이다.

파일을 열어보면

vi /tomcat/conf/logging.properties

아래와 같이 로그 관련된 설정이 있다.

logging.properties

여기서 안생기게 하고 싶은 로그 관련 설정을 주석처리 하거나, 지워주면 된다.

나는 주석으로 처리했다.

#3manager.org.apache.juli.AsyncFileHandler.level = FINE
#3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

#4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
#4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

주석 처리 후 톰캣을 재기동해보면, manager와 host-manager 로그는 더 이상 생성되지 않는 것을 확인 할 수 있다.

지난 tomcat 로그 삭제하기

1. 쉘 스크립트 파일 생성

위치 및 파일 이름은 어떻게 하든 상관이 없다.

나는 /tomcat 하위의 logs 폴더에 delete라는 이름으로 쉘파일을 생성 해 줄 것이다.

vi /tomcat/logs/delete.sh

그리고 아래처럼 작성해주면 된다.

*mtime 은 modification time으로 수정날짜를 의미한다.

*mtime은 까다로운 옵션이므로 사용하기 전에 사용법을 숙지하는것이 좋다.

#!/bin/bash

//수정날짜 기준 현재로부터 3년(1095일)이 지난 로그 중 이름이 catalina로 시작하는 모든 파일을 삭제
find /tomcat/logs/ -mtime +1095 -name catalina\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name localhost\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name manager\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name host-manager\* -exec rm {} \;

2. crontab 등록

crontab -e

위 명령어를 입력하면 작성 할 수 있는 파일이 열린다.

매일 새벽 1시에 쉘파일을 실행시킨다.

0 1 * * * /tomcat/logs/delete.sh

 

 

https://yes-admit.tistory.com/64

반응형