1 votos

Cómo habilitar una logrotación con Jenkins

Necesito habilitar el logrotate servicio con Jenkins con el fin de rotar sus archivos de registro (/var/log/jenkins/jenkins.de registro). Así que, he configurado un script en /etc/logrotate.d con el derecho de los permisos:

/var/log/jenkins/jenkins.log {
        hourly
        copytruncate
        missingok
        rotate 8
        compress
        delaycompress
        size 5G
}

Los permisos 644 y el propietario es root como para cada logrotate secuencia de comandos.

El logrotate servicio funciona correctamente, pero no por Jenkins. Los archivos de registro No se rotan!

Así que, he intentado insertar el comando directamente en la root del crontab:

0 * * * * logrotate --force /etc/logrotate.d/jenkins

Pero también este comando no funciona en absoluto, incluso si el servicio de cron funciona correctamente cada hora como por cron registros:

cat /var/log/syslog | grep logrotate
[...]
Jun  4 09:00:01 CI-prod CRON[11794]: (root) CMD (logrotate --force /etc/logrotate.d/jenkins)
Jun  4 10:00:01 CI-prod CRON[525]: (root) CMD (logrotate --force /etc/logrotate.d/jenkins)

Sin embargo, si puedo ejecutar manualmente el logrotate comando (logrotate --force /etc/logrotate.d/jenkins), funciona bien y el Jenkins registros se rotan con ningún problema, ya que por guión.

Por favor, ¿me pueden ayudar?

Aquí están otra información útil:

  • SO: Ubuntu 16.04.1 LTS
  • Jenkins versión: 2.121.2
  • La versión de Java: 1.8.0_121

0voto

Bvandorp Puntos 11

crontab tiene un entorno restringido, así que intente con una ruta absoluta y redirija la salida del comando a un archivo, esto lo ayudará en caso de errores.

0 * * * * / usr / sbin / logrotate --force /etc/logrotate.d/jenkins> /tmp/outfile.log 2> & 1

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: