SW 프로그래밍/Web Service

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

N2info 2023. 12. 19. 23:26

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

이런 경우는 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