2010-01-22 17 views
404

¿Es posible ejecutar una iteración de logrotate manualmente sin programarlo en algún intervalo?¿Es posible ejecutar una verificación de logrotate manualmente?

+2

El problema con logrotate es que tiene un archivo de configuración global y NO le permite ejecutar un solo archivo de configuración secundaria de rotación mientras sigue aplicando las opciones establecidas en el archivo de configuración global. Es decir, no tiene una buena manera de ejecutar solo UNA comprobación de archivo de rotación de registros, exactamente como lo haría cuando se ejecutara cada noche desde cron. Podría hacerlo con la opción 'limitar a estos archivos de registro', o mejor aún, 'ejecutar la configuración global, pero solo incluir este archivo de configuración secundaria'. – anthony

Respuesta

537

Sí: logrotate --force $CONFIG_FILE

+82

tenga en cuenta que '--force' rotará archivos incluso si no cumplen los criterios especificados, como minsize, edad, etc. – xofer

+4

Si coloca el archivo logrotate config en /etc/logrotate.d/custom.conf ¿significa esto que no necesita especificar un tamaño/tiempo cuando el registro debería girar automáticamente? ¿O debería colocar la configuración en una carpeta diferente si no tiene la intención de hacer que gire automáticamente? – Damainman

+1

+1 Gracias, esto es exactamente lo que busco – Mike

378

logrotate -d [your_config_file] invoca el modo de depuración, que le da una descripción detallada de lo que sucedería, pero dejando intactos los archivos de registro.

+42

los que vinieron aquí buscando la respuesta a una pregunta como "¿cómo puedo probar mi logrotate conf?" Puede tomar esto como una respuesta, ya que simplemente PRUEBA el conf – kommradHomer

+1

esta debería ser la respuesta – storm

29

La forma de ejecutar todos logrotate es:

logrotate -f /etc/logrotate.conf 

que se ejecutará el archivo logrotate primaria, que incluye las otras configuraciones logrotate, así

50

Es posible que desee ejecutarlo en modo prolijo fuerza + modo.

logrotate -vf /etc/logrotate.conf

87

Si desea forzar a ejecutar un solo directorio específico o archivos de registro del demonio, por lo general se pueden encontrar en la configuración /etc/logrotate.d, y que van a trabajar independiente.

Tenga en cuenta que la configuración global especificada en /etc/logrotate.conf no se aplicará, por lo tanto, si hace esto, debe asegurarse de especificar todas las opciones que desea específicamente en el archivo de configuración /etc/logrotate.d/[servicename].

Puede probarlo con -d para ver lo que sucedería:

logrotate -df /etc/logrotate.d/nginx 

continuación, puede ejecutar (utilizando nginx como ejemplo):

logrotate -f /etc/logrotate.d/nginx 

y los registros de nginx solo será rotado

19

Utilice el comando siguiente, la forma de ejecutar logrotate se especifica:

logrotate -vf /etc/logrotate.d/custom 

Opciones:

-v: mostrar el proceso

f: forzar plazo

personalizado: configuración de registro definida por el usuario

por ejemplo: mongodb-log

# mongodb-log rotate 

/data/var/log/mongodb/mongod.log { 
    daily 
    dateext 
    rotate 30 
    copytruncate 
    missingok 
} 
+0

plus1 aceptada para proporcionar un ejemplo completo. PD ¿Cómo podemos determinar [qué logrotate realmente hace a los archivos] (https://stackoverflow.com/questions/46578307/)? –

1

Creó un script de shell para resolver el problema.

http://www.ict.griffith.edu.au/anthony/software/#logrotate_one

Este script se ejecutará sólo el archivo de configuración de un solo sub-logrotate que se encuentra en "/etc/logrotate.d", sino que incluyen la configuración global de en el archivo de configuración global "/etc/logrotate.conf ". También puede utilizar otros otpions para probar que ...

Por ejemplo ...

logrotate_one -d syslog 
0

editar/var/lib/logrotate.estado para restablecer la fecha de "última rotación" en el archivo de registro que desea probar.

Luego ejecute logrotate YOUR_CONFIG_FILE.

O puede utilizar el indicador --force, pero la edición de logrotate.status le brinda más precisión sobre lo que gira y lo que no se gira.

Cuestiones relacionadas