12月 122011
 
シェアする

毎日0:00にcrondのエラーが配送されてくるようになった。

エラーメール内容

/etc/cron.daily/logrotate:

error: vsftpd.log:7 duplicate log entry for /var/log/xferlog
error: found error in /var/log/xferlog , skipping

原因

/etc/cron.daily/配下にあるスクリプトが毎日0:00にcrondにより実行され、logrotateが参照する
設定ファイルに重複したログファイル「/var/log/xferlog」が含まれている。

確認方法

logrotateが参照している設定ファイルを対象に、エラーになっている該当のログファイルを検索し
重複があるかを確認する。

# grep "/var/log/xferlog/" /etc/logrotate.conf /etc/logrotate.d/*

実行結果例

# grep xferlog /etc/logrotate.d/* /etc/logrotate.conf
/etc/logrotate.d/proftpd:/var/log/proftpd/*.log /var/log/xferlog {
/etc/logrotate.d/vsftpd.log:/var/log/xferlog {
/etc/logrotate.d/vsftpd.log.rpmsave:#/var/log/xferlog {
#

対処方法

選択肢1:重複する設定を削除する。
選択肢2:ファイル名を変更する。

/etc/logrotate.d/*にあるファイルは、/etc/logrotate.confにてincludeされています。

# grep include /etc/logrotate.conf
include /etc/logrotate.d
#

このincludeされるディレクトリのなかでは認識されるファイル名の形式が決まっており
以下がファイル名の末尾につくモノは設定ファイルとしては認識されない。

.rpmorig
.rpmsave
,v
.swp
.rpmnew
~

詳細はman logrotateよりincludeセクション並びにtabootextをご覧ください。

include file_or_directory
   Reads  the  file  given  as an argument as if it was included inline
   where the include directive appears. If a directory is given, most of
   the files in that directory are read in alphabetic order before processing
   of  theincluding  file  continues.  The  only  files which are ignored are
   files which are not regular files (such as directories and named pipes) and
   files whose names end with one of the taboo extensions, as specified by the
   tabooext directive.  The include directive may not appear inside of a log
   file definition.
tabooext [+] list
   The  current  taboo  extension  list is changed (see the include directive
   for information on the taboo extensions). If a + precedes the list of extensions,
   the current taboo extension list is augmented, otherwise it is replaced. At startup,
 the taboo extension list contains .rpmorig, .rpmsave, ,v, .swp, .rpmnew, and ~.

以上

このエントリーをはてなブックマークに追加

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ