限制jenkins.log或hudson.log的日志大小
我使用哈德逊和詹金斯,我在他们身上有好几份工作。 有时,我的hudson.log/jenkins.log文件会大幅增长限制jenkins.log或hudson.log的日志大小,jenkins,hudson,Jenkins,Hudson,我使用哈德逊和詹金斯,我在他们身上有好几份工作。 有时,我的hudson.log/jenkins.log文件会大幅增长 我知道同样的尺寸是有限的。请帮助说明如何更改以及必须在什么文件中进行更改。您可以使用logrotate。您可以找到有关logrotate的更多信息 以下是如何在我的系统上配置logrotate(/etc/logrotate.d/jenkins): 或者,如果你真的不喜欢信号,而且它会让jenkins崩溃,你可以使用来自的logrotate定义 将logrotate与copytr
我知道同样的尺寸是有限的。请帮助说明如何更改以及必须在什么文件中进行更改。您可以使用
logrotate
。您可以找到有关logrotate
的更多信息
以下是如何在我的系统上配置logrotate
(/etc/logrotate.d/jenkins
):
或者,如果你真的不喜欢信号,而且它会让jenkins崩溃,你可以使用来自的logrotate定义
将logrotate与copytruncate一起使用不会释放文件描述符的锁,最终会出现Sebastian Sastre提到的问题,在这种情况下,会发生旋转,但在重新启动Jenkins之前,您无法收回磁盘空间
作为替代解决方案,可能可以在后旋转块中使用。它依靠gdb发送一个close()open()来替换“损坏”的文件描述符。使用
copyruncate
而不是create
来创建一个更简单的脚本,而不必重新启动Jenkins。我有这个配置(后者)在ubuntu系统中,昨天我不得不手动删除一个20GB的日志文件。你可以将大小选项与copytruncate结合起来,而不是根据日期旋转。。。
/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
}
/var/log/jenkins/jenkins.log {
weekly
copytruncate
missingok
rotate 52
compress
delaycompress
notifempty
}