哪个脚本旋转 /var/log/auth.log?

哪个脚本旋转 /var/log/auth.log?

我不明白/var/log/auth.log旋转到哪里了。

/var/log/auth.log.2013-09-16我在系统上找到了该文件,其中包含先前在 中找到的日志条目/var/log/auth.log。该文件来自哪里?

我添加了调用中-d -D '%Y-%m-%d'的选项以及选项和,但我不知道为什么这会影响如何旋转。savelog/etc/cron.daily/sysklogdateextdateformat .%Y-%m-%d/etc/logrotate.confauth.log

我调查过的地方:

  • $ grep auth /etc/logrotate.d/*不匹配
  • $ grep auth /etc/logrotate.conf不匹配
  • /etc/cron.daily/sysklog关于旋转有以下说法:

    for LOG in $(syslogd-listfiles)
    do
       if [ -s $LOG ]; then
          savelog -g adm -m 640 -u ${USER} -c 7 -d -D '%Y-%m-%d' $LOG \
            > /dev/null
       fi
    done
    

    $ syslogd-listfiles仅列为/var/log/syslog轮换候选人。

  • savelog对in/etc及其子目录的其他调用会在注册的 CVS 目录中轮换历史文件,/var/log/boot并且aptitude.pkgstates

  • $ crontab -l列出了 中的一些脚本条目/opt/psa/libexec/modules/watchdog/cp/(我假设它们来自 Plesk Panels)。但是,我认为他们不应该负责,因为在我向调用-d -D '%Y-%m-%d'中添加选项以及向 中添加选项和之前,相关文件曾经以数字扩展名命名。savelog/etc/cron.daily/sysklogdateextdateformat .%Y-%m-%d/etc/logrotate.conf

答案1

至少在我的 Ubuntu 13.04 安装(物理机,桌面版)中,auth.log 按照logrotate中的定义进行轮换/etc/logrotate.d/rsyslog。 可以正确找到它grep auth /etc/logrotate.d/*。 轮换后的文件照常命名为auth.log、等等。 据我所知,这是处理 auth 日志的默认方式。 也许你正在使用定制版本的 Ubuntu auth.log.1auth.log.2.gz

答案2

我也在 Virtuozzo 上使用 12.04。我认为容器设置使用 sysklogd 的旧机制进行轮换(即 /etc/cron.daily 中的 sysklogd),因此:

$ syslogd-listfiles
/var/log/syslog

但,

$ syslogd-listfiles --weekly
/var/log/user.log
/var/log/daemon.log
/var/log/messages
/var/log/debug
/var/log/auth.log
/var/log/mail.log
/var/log/kern.log
/var/log/lpr.log

所以我认为这是正确的。(注意:我已删除了拆分邮件。* 日志记录,该日志记录将所有内容双重记录到 mail.info 和 mail.log)

但是,我注意到我的 VM 缺少 /etc/cron.weekly/sysklogd 作业,因此必须手动添加它。

您可能遇到的另一件事是 syslogd-listfiles 有一些额外的检查,以将非常小的日志文件排除在轮换之外。因此,如果没有记录任何内容,它们将不会被轮换。

相关内容