ログローテートが適切に実行していない時にログローテートの警告またはエラーメッセージをデバッグする

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) のすべてのバージョン

Issue

  • ログローテートが適切に実行していない時にログローテートの警告またはエラーメッセージをデバッグするには

Resolution

logrotate.status ファイルを確認する

logrotate.status ファイルを確認し、どのファイルがローテートされているかを確認します。

# cat /var/lib/logrotate.status

デバッグモードでログローテートを実行する

デバッグモードで logrotate コマンドを手動で実行して、エラーを確認します。

# /usr/sbin/logrotate -d /etc/logrotate.conf

問題を発生させている設定ファイルを特定する

デバッグの出力結果で報告されているエラーに従って、/etc/logrotate.conf/etc/logrotate.d/、およびその他のデバッグの出力で報告されている設定問題を修正します。

デバッグモードでログローテートを再実行する

# /usr/sbin/logrotate -d /etc/logrotate.conf

エラーが発生しない場合は、ログローテートが正しく動作しています。

Root Cause

この例では、/var/log/conman.old ディレクトリーが見つからないことが原因でエラーが発生しています。 このディレクトリーを作成するとこの問題が解決されます。

# mkdir /var/log/conman.old

Diagnostic Steps

/var/log/messsages ファイルに警告またはエラーが作成される場合があります。たとえば、以下のようになります。

logrotate:ALERT exited abnormally with [1]

logrotate コマンドには、デバッグモードにするための引数 -d があります。デバッグモードでは、ログまたはログローテートのステータスファイルは変更されません。必要に応じて、デバッグの出力が /tmp/logrotate.debug などのファイルにリダイレクトされます。これは、デバッグ時に非常に役に立つ場合があります。

# /usr/sbin/logrotate -d /etc/logrotate.conf 2> /tmp/logrotate.debug

以下は、デバッグの出力例です。

reading config file /etc/logrotate.conf
including /etc/logrotate.d
reading config file acpid
reading config info for /var/log/acpid 
reading config file conman
reading config info for /var/log/conman/* 
olddir is now /var/log/conman.old/
error: conman:21 error verifying olddir path /var/log/conman.old/:No such file or directory

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.