Roto los Nginx
registros diariamente (con dateext
). Después de la rotación, quiero analizar el archivo del día que acaba de pasar y compilar un correo electrónico con la cantidad de errores devueltos por el servidor Nginx.
¿Cómo puedo acceder al archivo de salida en la sección postrotate / endscript de logrotate
?
Respuestas:
No conozco ninguna variable que pueda usar si eso es lo que está buscando. Sin embargo, inmediatamente después de rotar el registro, debe saber con precisión el nombre al que se ha rotado el archivo en función de la configuración que haya establecido para la rotación (
/var/log/somefile.1
o similar).¿Quizás sería más fácil responder si describiera el problema real que está tratando de resolver?
fuente
Si no está utilizando la directiva "sharedscripts", su script postrotate recibe, como $ 1, el archivo que activó la rotación del registro. Esto podría ayudar si está tratando de usar un script genérico con múltiples estrofas de rotación. Es decir, dado algo como esto:
Si necesita rotar algún archivo coincidente, se llamará a su secuencia de comandos con $ 1 establecido en "/var/log/sample1.log", "/var/log/sample2.log" o "/var/log/sample3.log " según sea apropiado. Luego puede agregar ".1" para encontrar el archivo que acaba de girar.
Si usa la opción "sharedscripts", entonces su script se llamaría con $ 1 establecido en "/var/log/sample1.log /var/log/sample[23font>.log" (que lo ayudará a identificar una estrofa particular pero no el archivo exacto).
Esperemos que esto te dé un lugar para comenzar. Tenga en cuenta que esto solo funcionará para logrotate> v3.7.5.
fuente