Linux 에서는 기본적으로 아파치 로그를 잘라 주던데 FreeBSD에서는 별도로 설정을 해야 한다. logrotate 를 써도 되지만 여기에서는 newsyslog 를 이용해 보자.
0. newsyslog 설치
pkg install newsyslog |
FreeBSD 14 이후에서는 위와 같이 입력하여 설치한다.
1. newsyslog.conf 설정
/etc 폴더에 newsyslog.conf 파일이 있다. 여기에 아파치 로그를 아래와 같이 추가한다. (newsyslog.conf 에 바로 기록해도 되는데 newsyslog.conf.d/ 폴더에 apache.conf 를 만들어 거기에 추가해도 된다.)
/var/log/httpd/[domain]-access_log 644 7 * @T00 B /var/run/httpd.pid 30 /var/log/httpd/[domain]-error_log 644 7 * @T00 B /var/run/httpd.pid 30 |
접속 로그와 오류 로그를 모두 기록했다.
2. 제대로 설정했는지 테스트를 하자. 아래와 같이 입력을 해 본다.
newsyslog -v -f /etc/newsyslog.conf |
아래와 같이 메시지가 나오면 정상이다.
3. crontab 수정
마지막으로 newsyslog를 crontab 에 등록해야 하는데, 0의 설치 과정에서 이미 crontab 에 등록되었지만 아래와 같이 apachectl graceful 을 추가해 주어야 한다.
# Rotate log files every hour, if necessary. 0 * * * * root newsyslog && apachectl restart > /dev/null |
이상.