IBM HTTPServer(Apache 기반)의 로그 파일이 단일 파일로 무한정 커지는 것을 방지하기 위해
rotatelogs유틸리티를 사용하여 일(Day) 단위 등으로 로그를 자동 분할(Rotation)하는 설정 방법을 정리합니다.
Test Environment
- OS: CentOS 7.2
- Web Server: IBM HTTPServer v8.5
1. httpd.conf 설정 수정
IBM HTTPServer는 Apache 기반이므로 내장된 rotatelogs 바이너리를 파이프(|)로 연결하여 로그를 제어할 수 있습니다.
설정 파일 경로
- 위치:
/IBM/HTTPServer/conf/httpd.conf
수정 내용
기존 ErrorLog와 CustomLog 설정을 주석 처리하고, 아래와 같이 파이프라인 구문을 추가합니다. 86400은 초 단위(24시간)를 의미합니다.
# 1. Error Log Rotation 설정
# ErrorLog logs/error_log (기존 주석 처리)
ErrorLog "|/IBM/HTTPServer/bin/rotatelogs /IBM/HTTPServer/logs/error_%Y%m%d.log 86400"
# 2. Access Log Rotation 설정
# CustomLog logs/access_log common (기존 주석 처리)
CustomLog "|/IBM/HTTPServer/bin/rotatelogs /IBM/HTTPServer/logs/access_%Y%m%d.log 86400" common
2. 로그 포맷 스트링 (Format Strings)
로그 파일명 생성 시 날짜 형식을 지정하기 위해 사용하는 주요 포맷 코드입니다.
| Format | Description |
|---|---|
| %Y | 4자리 연도 (예: 2024) |
| %y | 2자리 연도 (예: 24) |
| %m | 2자리 월 (01~12) |
| %d | 2자리 일 (01~31) |
| %H | 24시간제 시간 (00~23) |
| %M | 분 (00~59) |
| %S | 초 (00~59) |
| %a / %A | 요일 이름 (단축 / 전체) |
| %b / %B | 월 이름 (단축 / 전체) |
Next Step:
설정을 변경한 후에는 반드시 IBM HTTPServer를 재기동(Restart)해야 로그 로테이션 프로세스가 정상적으로 시작됩니다. 재기동 후 logs 디렉토리에 날짜가 붙은 파일이 생성되는지 확인하십시오.