为了旋转它的日志文件(/var/ log / Jenkins /jenkins.log),我需要使用jenkins启用log旋转式服务。因此,我在/etc/logrotate.d中配置了一个具有正确权限的脚本:
/var/log/jenkins/jenkins.log {
hourly
copytruncate
missingok
rotate 8
compress
delaycompress
size 5G
}权限为644,对于每个日志旋转脚本,所有者都是根用户。
Log旋转式服务工作正常,但对Jenkins不起作用。没有日志文件被旋转!
因此,我尝试将命令直接插入root的crontab中:
0 * * * * logrotate --force /etc/logrotate.d/jenkins但是,即使cron服务按cron日志每小时正确工作,该命令也根本无法工作:
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)但是,如果我手动执行log旋转式命令(log旋转力/etc/logrotate.d/ Jenkins ),它工作良好,Jenkins日志按脚本旋转,没有问题。
拜托你能帮帮我吗?
以下是其他有用的信息:
发布于 2019-06-05 16:15:26
crontab有受限的环境,所以尝试使用绝对路径并将命令输出重定向到文件中,这将有助于防止出现错误。
0***usr/sbin/log转速--force /etc/logrotate.d/jenkins > /tmp/outfile.log 2>&1
https://askubuntu.com/questions/1148460
复制相似问题