Я не могу понять, где /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
имеет следующие, чтобы сказать о вращении:
blockquote>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
в /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
и [ 1126] - /etc/logrotate.conf
.
По крайней мере в моей установке Ubuntu 13.04 (физическая машина, настольная версия) файл auth.log поворачивается на logrotate
, как определено в /etc/logrotate.d/rsyslog
. Это правильно найдено в grep auth /etc/logrotate.d/*
. Вращающиеся файлы получают имена, как обычно auth.log
, auth.log.1
, auth.log.2.gz
и так далее. Насколько я могу судить, это способ обработки журнала авторизации по умолчанию. Возможно, вы используете настроенную версию Ubuntu.
Я также использую 12.04 на Virtuozzo. Я думаю, что настройка контейнера использует более старый механизм из sysklogd для вращения (то есть sysklogd в /etc/cron.daily), поэтому:
$ 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
. правильно. (Примечание: я сбросил разделенную почту. * Logging, который дважды регистрирует все в mail.info и mail.log)
Однако я заметил, что в моей виртуальной машине отсутствует /etc/cron.weekly/sysklogd задание, поэтому пришлось добавить его вручную.
Другая вещь, с которой вы можете столкнуться, это то, что syslogd-listfiles имеет некоторые дополнительные проверки для исключения очень маленьких файлов журнала из ротации. Поэтому, если ничего не регистрируется, они не будут вращаться.