同时设置 2 个作业时,日志轮换不起作用

同时设置 2 个作业时,日志轮换不起作用

您好,我有一个保存 logrotate 配置的目录。假设 /directory1/scripts/logrotate/logrotate_1.conf 所有这些都是相似的。

logrotate_1.conf

su root root
/zzz/env/yyy/tomcat/logs/catalina.out {
rotate 90
copytruncate
missingok
dateext
dateformat -%Y-%m-%d_%H%M.log
compress
lastaction
mv /zzz/env/yyy/tomcat/logs/*.gz /zzz/env/yyy/logs/archive
chown www-data:www-data /zzz/env/yyy/logs/archive -R
endscript
}

在 crontab 中,我设置像这样运行 logrotate ,每个想法都工作正常。

59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
58 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
57 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf

当我设置像这样运行 logrotate 时无法正常工作。有一天我只从第一行开始记录,第二天从第一行和第三行等开始记录。

59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_1.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_2.conf
59 23 * * * /usr/sbin/logrotate -f /uniter/scripts/logrotate/logrotate_3.conf

看起来同时运行 logrotate 时出现问题。你能向我解释一下为什么会发生这样的事情吗?

答案1

logrotate使用状态文件来跟踪其操作。您必须只有一个 实例logrotate,即使它具有多种不同的旋转配置。如果失败,请-s为每个实例指定不同的状态文件 ( )。

相关内容