限制jenkins.log或hudson.log的日志大小

时间:2014-04-01 10:40:58

标签: jenkins hudson

我使用Hudson和Jenkins,我有几个工作。 我的hudson.log / jenkins.log文件不时会大量增长。

我知道同样的大小可能是有限的。请帮助知道如何更改以及必须在哪个文件中进行更改。

2 个答案:

答案 0 :(得分:4)

您可以使用logrotate。您可以找到有关logrotate on this kb article

的更多信息

以下是我的系统(logrotate)上/etc/logrotate.d/jenkins的配置方式:

/var/log/jenkins/jenkins.log /var/log/jenkins/access_log {
    compress
    dateext
    maxage 365
    rotate 99
    size=+4096k
    notifempty
    missingok
    create 644
    postrotate
      if [ -s /var/run/jenkins.pid ]; then
        JPID=`cat /var/run/jenkins.pid`
        test -n "`find /proc/$JPID -maxdepth 0 -user jenkins 2>/dev/null`" && /bin/kill -s ALRM $JPID || :
      fi
    endscript
}

或者如果您不喜欢信号,并且它正在为您崩溃jenkins,您可以使用this debian config中的logrotate定义。

/var/log/jenkins/jenkins.log {
        weekly
        copytruncate
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
}

答案 1 :(得分:3)

将logrotate与copytruncate一起使用不会释放文件描述符的锁定,最终会出现Sebastian Sastre提到的问题,轮换发生但你不会重新获得磁盘空间,直到重启Jenkins为止。

作为替代解决方案this script也许可以在postrotate块中使用。它依赖于gdb来发送一个close()open()来替换" broken"文件描述符。