您好,我有一个保存 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
为每个实例指定不同的状态文件 ( )。