我不明白/var/log/auth.log
旋转到哪里了。
/var/log/auth.log.2013-09-16
我在系统上找到了该文件,其中包含先前在 中找到的日志条目/var/log/auth.log
。该文件来自哪里?
我添加了调用中-d -D '%Y-%m-%d'
的选项以及选项和,但我不知道为什么这会影响如何旋转。savelog
/etc/cron.daily/sysklog
dateext
dateformat .%Y-%m-%d
/etc/logrotate.conf
auth.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/sysklog
dateext
dateformat .%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.1
。auth.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 有一些额外的检查,以将非常小的日志文件排除在轮换之外。因此,如果没有记录任何内容,它们将不会被轮换。