Linux
[linux] linux, ubuntu에서 사용할 수 있는 logRotation Shell
기록하는 백앤드개발자
2020. 11. 26. 00:18
반응형
Tomcat catalina.out 로그는 지속적으로 쌓여서 기가 단위로 커지는 경우가 있다.
간혹 용량 확인하지 않고 로그 확인을 위해 VI로 열게 되면,
시스템 메모리가 꽉차 시스템 장애가 발생하는 경우가 더러 있다.
내가 주로 쓰는 Tomcat catalina rotaion shell 이다.
logBak.sh에 저장하고 특정 경로 위치만 바꾸어 사용하고 있다.
crontab에 잡을 주어 매일 실행하도록 설정한다.
#!/bin/bash
#logs에 있는 catalina.out 파일을 분리하여 backup에 압축 저장한다.
SRCDIR="/home/ubuntu/tomcat/logs"
DESTDIR="/home/ubuntu/tomcat/logs/backup"
DATE_WITH_TIME=`date "+%Y%m%d-%H%M%S"`
FILE_NAME="catalina"
BACKUP_FILE=$FILE_NAME$DATE_WITH_TIME
TARGET="catalina.out"
if [ ! -d "$DESTDIR" ]; then
mkdir $DESTDIR
fi
cd $SRCDIR && \
cp catalina.out catalina.out.bak
truncate --size=0 $TARGET >&2 &&\
tar -czvf $BACKUP_FILE.tar.gz catalina.out.bak && \
mv $FILE_NAME*.tar.gz $DESTDIR
# 60일이 지난 로그 삭제
find $DESTDIR -mtime +60 -delete
exit 0
반응형