logrotate란 로그의 비대화를 막기위한 방법이다.
이기능을 이용하면 특정용량이 차거나 할때 새로운로그를만들면서 기존에있는로그는 다른명칭으로 바뀌게되는
설정을 작성해본다.
/etc/cron.daily/logrotate 라는 파일을 열어보면 /etc/logrotate.conf 파일을 참조하게되어있다.
/etc/logrotate.conf 파일에는 /etc/logrotate.d 라는 디렉토리를 참조하게되어있다.
그러므로 해당기능을 이용하려면 /etc/logrotate.d 라는 디렉토리안에 설정파일을 넣어주면된다.
아래내용은 /etc/logrotate.d/apache 파일의 기본설정이다.
/usr/local/apache/logs/*_log {
weekly
rotate 3
missingok
create 0600 root root
postrotate
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
위 내용에대해 설명하자면
/ust/local/apache/logs/*_log 파일들을
weekly : 주단위로
rotate 3 : 3개의파일 이상되면 삭제
create 0600 root root : 아래와 같은 권한으로 rotation된 로그파일 생성
postrotate
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
3문장은 rotation 후 postrotate를 통해 httpd를 재시작해준다.
위와같이 설정후 저장한뒤
logrotate -f /etc/logrotate.d/apache 으로 되는지여부를 확인해준다.
명령어를 실행하게되면
도메인-access_log
도메인-access_log.1
이런식으로 기존에있는건 .1이 붙으면서 생성되며 새로운 로그파일을 생성해준다.