본문 바로가기
SW 프로그래밍/Web Service

apache 로그파일 관리하기(logrotate)

by N2info 2023. 12. 19.

웹서비스를 운영하다보면, 로그파일 용량이 계속 늘어나 디스크 용량을 가득 채워서 서버에 장애가 발생한는 경우가 있다.

이런 경우는 log rotate를 설정하여, 주기적으로 로그파일을 순환하고, 오래된 파일은 삭제를 해 줘야 한다.

그러나 아두이노 연동 등을 위해 로그파일을 보관해야하는 경우도 있다.

 

리눅스의 기본 패키지인 logrotate 패키지를 이용해서 apache의 로그를 주기적으로 순환시키고 오래된 로그는 삭제 하는 설정이다.
/etc/logrotate.d 디렉토리에 아래와 같이 apache log를 관리 하도록 설정 파일을 생성한다.

[root@localhost logrotate.d]# cat /etc/logrotate.d/apache

/usr/local/apache/logs/*_log {
weekly
rotate 8
missingok
create 0600 root root
postrotate
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}

 

위 설정은 일주일 단위로 로그파일의 이름을 변경하여 순환시키며, 8주간 보관하고 8주가 지난 로그파일은 삭제 하도록 하는 설정이다.
설정을 변경하여 필요한 기간만큼 보관하고 자동으로 삭제가 가능하다.

 

# yearly : 매년
# monthly : 매월
# weekly : 매주
# daily : 매일

# keep 4 weeks worth of backlogs
rotate 5   #정리할 로그의 개수를 지정하는 부분입니다 로그 회전주기에 따라 진행

# create new (empty) log files after rotating old ones
create

# 로그파일을 정리한 후 로그파일을 생성여부입니다
# create : 로그파일 생성
# empty : 로그파일 생성 안함

# use date as a suffix of the rotated file
# Logrotate가 실행한뒤 로그파일에 날짜를 부여합니다
dateext

# uncomment this if you want your log files compressed
# 로그파일 압축여부 입니다 - (압축하여 로그파일의 크기를 조절할수 있습니다)
compress

# compress : 로그파일 압축

# /etc/logrotate.d/apache 상세설명
daily : 일단위로 실행합니다
rotate 5 : 회전 주기를 설정합니다
notifempty : 로그파일의 내용이 없을경우 rotate 하지 않습니다
missingok : 로그파일이 없을경우 에러메시지를 출력하고 다음으로 실행합니다
compress : 로그파일을 압축합니다
sharedscripts : 여러개의 로그파일을 스크립트로 공유하여 실행합니다
postrotate : 실행 후 스크립트 파일 실행합니다
/server/apache2/bin/apachectl graceful
endscript : 실행 후 스크립트 파일 실행합니다

 

Logrotate(로테이트) 실행

[root@server ~]# /usr/sbin/logrotate -f /etc/logrotate.d/apache2

 

Logrotate(로테이트) 디버그 모드

[root@server ~]# /usr/sbin/logrotate -d /etc/logrotate.d/apache2

 

Logrotate(로테이트) 실행과정 화면의 표시

[root@server ~]# /usr/sbin/logrotate -v /etc/logrotate.d/apache
 

 

 

 

참조 : https://server-talk.tistory.com/271

 

리눅스 로그관리 - Logrotate

리눅스 로그관리 - Logrotate 알아보기 이번 포스팅에서는 리눅스 로그관리에 유용한 logrotate 에 대해서 알아보도록 하겠습니다. Logrotate는 무엇인가? 리눅스에서 서버를 운영하시다 보면 로그를 보

server-talk.tistory.com

참조 : http://faq.add4s.com/?p=458

 

 

apache 로그파일 관리하기 – faq.add4s.com

웹서비스를 운영하다보면, 로그파일 용량이 계속 늘어나 디스크 용량을 가득 채워서 서버에 장애가 발생한는 경우가 있다. 이런 경우는 log rotate를 설정하여, 주기적으로 로그파일을 순환하고,

faq.add4s.com