ログローテートが適切に実行していない時にログローテートの警告またはエラーメッセージをデバッグする
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.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
