2011-03-31 4 views
12

누구든지 redis에 대한 예제 logrotate 구성이 있습니까? 이것은 내가 지금까지 가지고있는 것이다.Redis logrotate 구성

/var/log/redis/*.log { 
     daily 
     missingok 
     rotate 52 
     compress 
     delaycompress 
     notifempty 
     create 640 root adm 
     sharedscripts 
     postrotate 
       ... 
     endscript 
} 

그러나 나는 후행 단계에서 해야할지 잘 모르겠다. 이것은 우분투 10.04 LTS에 있습니다.

답변

18

이것은 아마도 충분합니다 : 나는 copytruncate을 원하지 않기 때문에

/var/log/redis/*.log { 
     weekly 
     rotate 10 
     copytruncate 
     delaycompress 
     compress 
     notifempty 
     missingok 
} 
+6

그러나 어떻게하면 Redis가 로그 파일을 다시 열 것을 요청합니까? ... 죄송합니다. 실제로 각 로그 라인에서 Redis가 다시 열립니다 (https://github.com/antirez/redis/issues/337#issuecomment-4002868 참조). – jpetazzo

+1

copytruncate는 동일한 원본 파일을 복사합니다 (copy truncate). 따라서 redis가 파일을 다시 열지 않아도 제대로 작동해야합니다. – c4il

+2

Copytruncate는 비효율적이며 가능하면 피해야합니다. 가능한가? 그것이있는 것처럼 보입니다. 그래서 나는 그것을 시도 할 것입니다. –

4

내가

/var/log/redis/*.log { 
     weekly 
     missingok 
     rotate 52 
     compress 
     delaycompress 
     notifempty 
     create 0660 redis redis 
} 

갔다.

create 행이 필요한지 확실하지 않습니다. 그것은 우분투 (또는 데비안)의 redis-server에 의해 일반적으로 생성 된 로그 파일의 파일 모드와 소유권과 일치합니다.