반응형
✅ 참고
CentOS 7 버전 기준으로 작성하였습니다.
📄 logrotate란?
CentOS에 기본적으로 설치되어 있는 시스템관리도구입니다.
log 파일을 날짜별로 정리하여 관리할 수 있습니다.
참고: 하나의 log 파일에 기록하지 않고 log 파일을 날짜별로 정리하는 이유는 크게 3가지가 있습니다.
1. log 파일이 길어지면 error log를 찾기 힘듭니다.
2. log 파일의 크기가 커지면 서버 컴퓨터의 disk 관리가 힘듭니다.
3. log 파일의 크기가 10GiB 이상으로 넘어가게 되면 log 파일 자체를 열지 못할 수 있습니다.
📄 logrotate 실행 순서
참고: logrotate에 대한 crontab과 cron.daily 설정은 기본적으로 되어있습니다.
그렇기 때문에 logrotate.conf와 logrotate.d 설정만 진행합니다.
📄 logrotate 파일 위치
파일 이름 | 파일 위치 |
logrotate (logrotate 실행 파일) | /usr/sbin |
logrotate.conf (logrotate 설정 파일) | /etc |
logrotate.d (logrotate 서비스 설정 폴더) | /etc |
참고: logrotate.conf는 logrotate 자체의 설정 파일이며, logrotate.d는 rotate 작업을 할 서비스들의 설정을 관리하는 폴더입니다.
📄 logrotate.conf 설정
1. vim 명령어를 통해 logrotate.conf 파일 열기
$ vim /etc/logrotate.conf
2. logrotate.conf 파일 수정
logrotate.conf
# see "man logrotate" for details
# 매주 로그파일을 로테이트
weekly
# 4개의 로그파일 이상이면 가장 오래된 로그파일을 삭제합니다.
rotate 4
# 로그파일을 정리하고 오래된 로그파일을 생성할지 여부
create
# 로테이트후 로그파일 뒤에 날짜를 추가합니다
dateext
# 로그파일을 로테이트한후 압축파일로 생성
#compress
# 디렉토리를 지정하여 logrotate파일을 사용가능합니다
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
📄 logrotate.d 설정
logrotate.d는 logrotate 작업을 진행할 서비스들을 관리하는 폴더입니다.
아래 예제는 nginx와 springboot(tomcat)의 log 파일을 관리한다고 가정하겠습니다.
1. nano 명령어를 통해 nginx 파일 생성 및 편집
$ nano /etc/logrotate.d/nginx
2. nginx 파일 수정
/var/log/nginx/*.log { # nginx log 경로
daily # 로테이트 주기
missingok # 로그파일이 없어도 에러처리 안함
rotate 14 # 로그파일의 개수가 14개 이상이면 가장 오래된 로그파일을 삭제합니다.
compress # 로테이트 파일 압축
notifempty # 로그가 빈경우 로테이트 진행 하지않음
sharedscripts # 로그파일이 여러개여도 스크립트를 한번만 진행
}
3. nano 명령어를 통해 springboot 파일 생성 및 편집
$ nano /etc/logrotate.d/springboot
4. springboot 파일 수정
/var/log/tomcat/*.log { # spring log 경로
daily # 로테이트 주기
missingok # 로그파일이 없어도 에러처리 안함
rotate 14 # 로그파일의 개수가 14개 이상이면 가장 오래된 로그파일을 삭제합니다.
compress # 로테이트 파일 압축
notifempty # 로그가 빈경우 로테이트 진행 하지않음
sharedscripts # 로그파일이 여러개여도 스크립트를 한번만 진행
}
참고: postrotate와 endscript 옵션을 통하여 로테이트 작업 후 스크립트를 실행시킬 수도 있습니다.
반응형
'ETC > Linux' 카테고리의 다른 글
[Linux] 톰캣(tomcat) 실행, 중지, 재시작 명령어 총 정리 (0) | 2024.10.23 |
---|
댓글