2011-03-31 15 views
12

¿Alguien tiene un ejemplo de configuración de logrotate para redis? Esto es lo que tengo hasta ahoraRedis logrotate config

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

Pero no estoy seguro de qué hacer en el paso posterior al paso. Esto está en Ubuntu 10.04 LTS.

Respuesta

18

Esto probablemente sea suficiente:

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

Pero, ¿cómo se solicita Redis para volver a abrir el archivo de registro? ... Ups, me di cuenta por mí mismo: Redis realmente se vuelve a abrir en cada línea de registro (ver https://github.com/antirez/redis/issues/337#issuecomment-4002868) – jpetazzo

+1

copytruncate reutiliza el mismo archivo original (copia luego truncar). Así que incluso si redis no volvió a abrir el archivo, debería haber estado funcionando bien. – c4il

+2

Copytruncate es ineficiente, y me gustaría evitarlo si es posible. ¿Es posible? Parece que es así que lo intentaré. –

4

Fui con

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

porque no quiero copytruncate.

No estoy seguro de que la línea create sea necesaria. Concuerda con el modo de archivo y la propiedad de los archivos de registro normalmente creados por redis-server en Ubuntu (o Debian).