catalina.out 막기 자료
----------어디서 퍼옴 1 ----------------------
----------어디서 퍼옴 2 ----------------------
1) 개무시
$CATALINA_BASE/bin/catalina.sh를 편집한다.
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
위와 같이 "$CATALINA_BASE"/logs/catalina.out 으로 로그를 보내는것을 아래와 같이 변경하여 보내지 않도록 한다.
org.apache.catalina.startup.Bootstrap "$@" start >> /dev/null 2>&1 &
if else로 구성되어서 아마 2군데를 편집해야 할것이다.
touch "$CATALINA_BASE"/logs/catalina.out
씰데없기때문에 주석(#)처리 하거나 삭제한다.
2) rotatecatalinalog.sh 생성 하여 cron에 등록
#!/bin/sh
LOG_DIR=/util/esb/tomcat6/logs
DATE=`/bin/date +%Y-%m-%d`
/bin/nice /bin/cp $LOG_DIR/catalina.out $LOG_DIR/$DATE.catalina.out
/bin/nice /bin/cat /dev/null > $LOG_DIR/catalina.out
위와 같이 해당날짜로 복사하고 원판 catalina.out은 비워주는 sh을 만들어서 crontab에 등록한다.
chmod 755 rotatecatalinalog.sh 로 권한부여도 하고
crontab -e
로 에디트 모드로 가서
59 23 * * * /util/esb/tomcat6/bin/rotatecatalinalog.sh
위 한줄 추가 23시59분에 매일 실행
3) cronolog사용
http://cronolog.org 설치하여 세팅
설치하고자 하는 디렉토리로 이동
# cd /home/esb
cronolog tar파일 다운
# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
압축해제
# tar xzvf cronolog-1.6.2.tar.gz
해제된 디렉토리로 이동
# cd cronolog-1.6.2
환경에 맞게 설치
# ./configure --prefix=/home/esb/cronolog
# make && make install
# ls -al /home/esb/cronolog/sbin
$CATALINA_BASE/bin/catalina.sh를 편집한다.
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
org.apache.catalina.startup.Bootstrap "$@" \
start |/home/esb/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out >> /dev/null 2>&1 &