Cómo hacer que el cambio de rotación de registro surta efecto


99

Seguí este enlace para cambiar la configuración de rotación de registro para RHEL 6

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

Respuestas:


139

logrotateutiliza crontabpara trabajar Es un trabajo programado, no un demonio, por lo que no es necesario volver a cargar su configuración.
Cuando se crontabejecute logrotate, usará su nuevo archivo de configuración automáticamente.
Si necesita probar su configuración, también puede ejecutarlo logrotateusted mismo con el comando:

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

O como se menciona en los comentarios, identifique la logrotatelínea en la salida del comando crontab -ly ejecute la línea de comando; consulte la respuesta de slm para obtener una explicación cronológica precisa todos los días.


1
Solo para agregar a su respuesta, la entrada cron para logrotateestá programada para ejecutarse una vez al día.
mkc

@Ketan, entonces, ¿cómo puedo hacer que afecte de inmediato? gracias
BufBills

No es seguro. Una posibilidad es encontrar la entrada correspondiente de crontab a través de crontab -ly ejecutarla.
mkc

2
Si desea que surta efecto, ejecute inmediatamente las palabras clave cron.
slm

2
logrotatetiene una -dopción para probar (o "depurar"), recomendaría ejecutarlo al menos una vez con eso.
FrustratedWithFormsDesigner

36

La mayoría de las logrotateconfiguraciones que he visto en varias distribuciones se quedan sin /etc/cron.daily. Hay un script de shell allí 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 observa un script que normalmente está allí, le muestra cómo también puede ejecutarlo logrotatemanualmente, 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

31

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 solo archivo conf:

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

11
-fpara la rotación forzada, también hay -dpara depuración, que también es ejecución en seco, imprimirá todo lo que habría hecho pero no lo hizo realmente.
ThorSummoner

5

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 nginx de esta manera:

cat /var/lib/logrotate.status
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.