/etc/cron.daily中的两个脚本似乎在旋转我的日志:logrotate和sysklogd

看来我的syslog生成的日志文件每天轮换两次。 我相信这是由于/etc/cron.daily/logrotate和/etc/cron.daily/sysklogd做重叠的工作。

以下是sysklogd脚本的相关行:

logs=$(syslogd-listfiles) test -n "$logs" || exit 0 for LOG in $logs do if [ -s $LOG ]; then savelog -g adm -m 640 -u ${USER} -c 7 $LOG >/dev/null fi done 

处理这个问题的最佳常见做法是什么? syslog生成的文件是否应该在logrotate中列出? 如果我想使用一些logrotate的更高级的function,像postrotate脚本 – 我应该尝试使/etc/cron.daily/sysklogd做到这一点,或者我应该注释掉这些行,让logrotate做到这一点?

当sysklogd开始进行日志轮转时,我非常恼火 – 这不像是其他地方不存在的缺失function。 但是,在我的系统中,logrotate没有configuration为对系统日志执行任何操作 – 是您手动configuration的东西吗?

为了保持最小惊喜的原则,我离开sysklogd来旋转它自己的日志(如果其他人需要维护我的一个系统,最好是他们尽可能地得到默认行为),但是如果你想要logrotate的高级function,我会closuressysklogd cron作业,评论一个指向正确的地方,并login疯狂。

什么分配?

如果运行“syslogd-listfiles”,那么列表中输出的文件是否也通过/etc/logrotate.d/中的文件进行pipe理?

看看我的Ubuntu盒子,/ etc / cron.daily / sysloglog实​​际上并没有做任何事情,因为/ usr / sbin / syslogd-listfiles不存在。