我使用Hudson和Jenkins,我有几个工作。 我的hudson.log / jenkins.log文件不时会大量增长。
我知道同样的大小可能是有限的。请帮助知道如何更改以及必须在哪个文件中进行更改。
答案 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"文件描述符。