Seguí este enlace para cambiar el registro -rotar la configuración para RHEL 6

Después de realizar el cambio en el archivo de configuración, ¿qué debo hacer para que esto surta efecto?

Respuesta

logrotate usa crontab para funcionar. Es un trabajo programado, no un demonio, por lo que no es necesario volver a cargar su configuración.
Cuando crontab ejecuta logrotate, usará su nuevo archivo de configuración automáticamente.
Si necesita probar su configuración, también puede ejecutar logrotate por su cuenta con el comando:

logrotate /etc/logrotate.d/your-logrotate-config 

O como se menciona en los comentarios, identifique la línea logrotate en la salida del comando crontab -l y ejecute la línea de comando consulte la respuesta de slm para tener una explicación cron.daily precisa

Comentarios

  • Solo para agregar a su respuesta, la entrada cron para logrotate está programada para ejecutarse una vez al día.
  • @Ketan, entonces, ¿cómo puedo hacer que esto afecte de inmediato? gracias
  • Si desea que surta efecto inmediatamente, ejecute las palabras posteriores de cron.
  • logrotate tiene un -d opción para probar (o " depuración "), I ' d recomiendo ejecutarlo al menos una vez con eso.
  • Una frustración muy común es la nueva directiva obligatoria su su root syslog. Lo que detiene logrotate cuando no se agrega. Para rematar la frustración de las personas ', cuando agregan la directiva y luego ejecutan (forzar) logrotate, continúa escupiendo " error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ... " durante 20 horas después del cambio de configuración, como si la configuración / proceso están en caché? Si está atascado allí, chgrp en / var / log a root, ejecute logrotate, chgrp de nuevo a syslog. Se aclarará en la próxima ejecución

Respuesta

La mayoría de logrotate las configuraciones que he visto en varias distribuciones se ejecutan fuera de /etc/cron.daily. Hay un script de shell llamado acertadamente logrotate.

Ejemplo

$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate 

Ejecución manual

Si desea que se ejecute manualmente, simplemente ejecute el script como root:

$ sudo /etc/cron.daily/logrotate 

Si echas un vistazo a un script que normalmente está ahí, te muestra cómo también puedes ejecutar logrotate manualmente, simplemente ejecutando logrotate + la ruta a su archivo de configuración.

#!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0 

Responder

Debería ser automático a través de cron. Puede forzarlo a probar sus cambios.

Para logrotate global:

sudo logrotate -v -f /etc/logrotate.conf 

Para un único archivo conf:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf 

Comentarios

  • -f para forzar la rotación, también hay -d para depuración, que también es Ejecución en seco, imprimirá todo lo que habría hecho pero no lo hará en realidad.

Responder

En mi máquina CentOS 6.5 para configurar logrotatefor nginx tuve que hacer esto:

logrotate /etc/logrotate.d/nginx 

Y luego verifiqué si logrotate cuidando mi nueva configuración de nginx así:

cat /var/lib/logrotate.status 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *