/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
オプションを追加し、dateformat .%Y-%m-%d
にdateext
および/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
のみをリストします。
/etc
およびそのサブディレクトリ内のsavelog
への他の呼び出しは、登録されたCVSディレクトリ、/var/log/boot
およびaptitude.pkgstates
内の履歴ファイルをローテーションします。
$ crontab -l
には、/opt/psa/libexec/modules/watchdog/cp/
(Plesk Panelsからのものと思われます)内のスクリプトのエントリがいくつかリストされています。ただし、-d -D '%Y-%m-%d'
オプションを/etc/cron.daily/sysklog
のsavelog
呼び出しに追加するまで、問題のファイルには数字の拡張子が付けられていたため、これらのファイルには責任があるとは思わないオプションdateext
およびdateformat .%Y-%m-%d
〜/etc/logrotate.conf
。
少なくとも、私のUbuntu 13.04インストール(物理マシン、デスクトップ版)では、auth.logは/etc/logrotate.d/rsyslog
で定義されているlogrotate
によってローテーションされます。これはgrep auth /etc/logrotate.d/*
によって正しく検出されます。ローテーションされたファイルには、通常どおりauth.log
、auth.log.1
、auth.log.2.gz
などの名前が付けられます。これは、私が知る限り、認証ログを処理するデフォルトの方法です。たぶん、あなたはUbuntuのカスタマイズされたバージョンを使用しています。
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がローテーションから非常に小さなログファイルを除外するいくつかの追加のチェックを持っていることです。したがって、何もログに記録されていない場合、それらは回転しません。