¿Dónde guarda logrotate su propio registro?

25

Me estoy logrotateejecutando en una máquina EC2 AWS girando registros de Apache. Una vez empaquetados, los registros de Apache se guardan en AWS S3 a través de s3fs. El problema es que recientemente noté que no tenía registros rotados. En S3 tengo registros antiguos del día 48-> 60 pero el 1-> 47 no aparece.

Mi pregunta es: ¿dónde guarda logrotate su propio registro? Es posible que tenga algún tipo de problema con s3fs, pero necesito saberlo antes de hacer algo. Traté de encontrar en algún lugar los registros, pero no pude encontrarlo.

¿Alguna idea?

enedebe
fuente

Respuestas:

20

logrotateno registra nada por defecto. normalmente debería estar en su cron en alguna parte, por ejemplo:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Puede ejecutarlo manualmente para ver qué está mal o redirigir la salida de logrotate a un archivo en el cron anterior para ver qué sucedió al día siguiente.

Probablemente en algún lugar la configuración es incorrecta y provocó que la ejecución de logrotate se rompa.

johnshen64
fuente
+1 al ejecutar logrotate manualmente para ver qué pasa
cjc
gracias por la respuesta, pero lo que realmente quiero saber es lo que sucedió en mi sistema para obtener este resultado amable. ¡Gracias!
enedebe
¿ejecuta manualmente logrotate dar algún error? Si hay errores, debe corregirlos en el archivo conf o /etc/logrotate.d/apache (o apache2).
johnshen64
44
Puede usar el -dindicador de depuración y el -findicador de fuerza para ver exactamente lo que intenta hacer logrotate. -ddesactiva la acción, pero los mensajes impresos seguirán afirmando que están cambiando las cosas.
David Lord
Al ejecutar /usr/sbin/logrotate /etc/logrotate.conf, agregaría -vpara ver el registro detallado.
Dennis Golomazov
6

Lo único en lo que normalmente se graban los registros es en cat /var/lib/logrotate/status.

Esto está tomado de /server//a/518134/266525

dragon788
fuente
5

Otro buen lugar para buscar es /var/log/messagesen CentOS para errores como este del cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

También puede ejecutar en modo de depuración manualmente y verificar si hay errores:

/usr/sbin/logrotate -d /etc/logrotate.conf

Fuente: https://access.redhat.com/solutions/32831

Tony-Caffe
fuente
2

Si está ejecutando logrotatedesde cron y no redirige la salida, la salida, si hay alguna, irá al correo electrónico para cualquier ID que esté ejecutando el trabajo cron. Redirijo mi salida a un archivo de registro.

Por ejemplo:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1
Geoffrey M.
fuente
1

Verifique /etc/logrotate.conflas configuraciones globales que pueden estar afectando las tareas configuradas/etc/logrotate.d/

cdmo
fuente
0

Cuando logrotate no gira registros o entra en estado fallido, es una buena idea ejecutar logorate manualmente en modo de depuración para ver qué errores enumera, como este:

/usr/sbin/logrotate -d /etc/logrotate.d/*

Este comando prueba rotar los registros de todos los servicios que tienen archivos ubicados /etc/logrotate.d. Si enumera errores (como los errores causados ​​por entradas de registro duplicadas), sabrá por qué logrotate tiene problemas.

Ludvik
fuente