아파치로 웹서버를 운영하다 보면 접속자 로그가 쌓이기 마련입니다. 이 로그는 기본적으로 무한정 늘어나기 때문에 로그 파일이 커지면 새로운 로그를 입력하기 위해 그만큼 로그 파일의 인덱싱이 필요하기 때문에 웹서버의 성능이 저하됩니다. 그리고 기본값으로 가상 호스트 이름의 로그 파일이 생성되어 로그 파일의 관리적 측면에서도 좋지 못한데요.
이러한 불편함을 해소하기 위해 아파치에 내장하고 있는 rotatelogs를 이용할수 있지만 로그 디렉토리 내부에서 날짜별로 쌓이게 되는데 가상호스트의 로그를 분류하려면 약간의 불편이 따릅니다.
이때 cronolog를 이용하면 쉽게 로그를 분리하고 관리할수 있습니다.
목차
cronolog 설치
sudo apt-get install cronolog
cronolog는 우분투에서 패키지 형태로 제공되어 위와 같은 명령어로 설치할수 있습니다.
cronolog 설정
ErrorLog “|/usr/bin/cronolog /로그경로/%Y-%m/site-name.log.%d”
CustomLog “|/usr/bin/cronolog /로그경로/%Y-%m/site-name-access.log.%d” combined
CustomLog “|/usr/bin/cronolog /로그경로/%Y-%m/site-name-bandwidth.log.%d” combined
아파치의 로그 설정 항목에서 위와 같이 로그 경로 앞에 |/usr/bin/cronolog 를 불러온 다음 분류할 로그의 파일명이나 디렉토리를 %Y(년) %m(월) %d(일) 단위로 쪼개 저장할수 있습니다. 이 부분은 관리자의 입맛에 따라 수정해서 사용할수 있습니다.