본문 바로가기
WAS(Web Application Server)/톰캣(Tomcat)

톰캣 로그 디렉토리 경로와 자동 삭제 스크립트 작성 및 설정

by 연구자 공학코드 2023. 6. 28.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

톰캣이 사용하는 로그 디렉토리는 기본적으로는 톰캣 설치 경로에 위치한 'logs' 디렉토리이다. 하지만 설정에 따라 응용별로 로그 위치를 다르게 할 수 있기 때문에 설정을 잘 확인해야 한다. 

로그 디렉토리 위치

나의 경우 두 곳에 로그가 기록되고 있었다.

톰캣 루트 디렉토리 내의 로그 디렉토리
응용이 별도로 기록하는 로그 디렉토리

로그 삭제 쉘 스크립트 작성

아래의 스크립트는 톰캣의 모든 로그가 기록되는 'catalina.out' 파일을 현재 일자를 파일명으로 백업하고 내용을 비운 후 로그 폴더 내에서 생성된지 60일이 초과한 파일을 삭제하는 스크립트이다. 아래의 스크립트를 참고하여 자신의 환경에 맞춰서 로그 삭제 쉘 스크립트를 작성한다.

TOMCAT_LOG_DIR={톰캣경로}/logs

today=`date "+%Y_%m_%d"`

cp $TOMCAT_LOG_DIR/catalina.out $TOMCAT_LOG_DIR/catalina.out.$today

cat /dev/null > $TOMCAT_LOG_DIR/catalina.out

find $TOMCAT_LOG_DIR -mtime +60 -type f -exec rm -f {} \;

톰캣 기본 로그를 삭제하기 위해 위의 삭제 스크립트를 작성했고 응용의 로그를 삭제하기 위해 아래의 스크립트를 작성했다.

APP_LOG_DIR={응용경로}/logs

today=`date "+%Y_%m_%d"`

find $APP_LOG_DIR -mtime +60 -type f -exec rm -f {} \;

실행 권한 부여

아래의 명령어를 참고하여 쉘 스크립트를 실행할 수 있는 권한을 부여한다.

chmod 744 {스크립트파일명}

자동 실행 설정

쉘 스크립트가 자동으로 실행되도록 아래의 사진처럼 크론탭(Crontab) 설정을 열고 작성한 삭제 쉘 스크립트를 실행 스케줄러에 등록한다.

crontab -e
59 23 * * * {쉘스크립트경로}

크론탭에 스케줄을 입력하는 화면

아래의 명령어를 입력하여 쉘 스크립트 자동 실행 스케줄이 크론탭에 잘 등록되었는지 확인한다.

crontab -l

크론탭에 스케줄이 등록된 화면

쉘 스크립트 실행

아래의 사진처럼 수동으로 작성한 쉘 스크립트를 실행할 수 있다.

./{쉘스크립트파일명}.sh

쉘 스크립트를 실행한 화면

로그 파일 목록 확인

아래의 명령어를 활용하면 아래의 사진처럼 로그 파일 목록과 파일별 크기를 확인할 수 있다.

du -hs *

로그 목록이 나타난 화면

728x90
반응형

댓글