[Linux] logrotate로 사용자 로그를 rotation하는 방법

Posted on 2017-02-27 22:43:55


Logrotate는 리눅스에서 로그를 rotation하고 백업하는 데 사용하는 유틸리티이다. 여기서는 logrotate로 사용자 로그(custom log)를 rotation하는 방법에 대해 간략히 설명한다.

 

• logrotate로 사용자 로그를 rotation하는 방법

1. /etc/logrotate.d에 config file를 추가한다. 여기서는 mywebapp이라는 이름의 config file을 추가한다.

 

2. /etc/logrotate.d/mywebapp 파일에 다음과 같은 내용을 추가한다.

/var/www/example.com/logs/*.log {
weekly
rotate 4
missingok
notifempty
create 644 root root
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}

· weekly - 매주 한번 log rotation을 한다.(other options : daily, monthly)
· rotate 4 - 백업 로그파일을 4개까지만 보관한다.
· missingok - 로그파일이 없더라도 에러처리를 하지 않고 그냥 넘어간다.
· notifempty - 로그파일이 비어 있으면(size가 0) log rotation을 하지 않는다.
· create <mode> <owner> <group> - log rotation후에 지정한 permission으로 새로운 파일을 생성한다.
· postrotate - log rotation후에 지정한 명령어들을 실행한다. 위의 예제에서는 apache 웹서버를 restart 하였다.

 

3. 이제 테스트를 해보자. /etc/logrotate.d 디렉토리에서 sudo logrotate --force mywebapp 명령어를 실행한다. 그리고 /var/www/example.com/logs 디렉토리로 이동하여 log rotation이 잘 되어 있는지 확인한다.



Related Posts

[CentOS7] php7 설치하기 2017-03-10 19:41:50
[CentOS7] Sudo user를 만드는 방법 2017-03-07 12:28:46
[CentOS7] setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory 메시지의 해결방법 2017-03-06 11:55:34
[Linux] find utility 사용법 2017-02-24 20:49:49
[Bash] parameter를 처리하는 방법 2017-02-22 21:29:18