logrotateは独自のログをどこに保存しますか?


25

logrotateApacheログをローテーションするEC2 AWSマシンで実行しています。パックされると、Apacheログはs3fs経由でAWS S3に保存されます。問題は、最近ログをローテーションしていないことに気づいたことです。S3では、48日目から60日目までの古いログがありますが、1日目から47日目は表示されません。

私の質問は次のとおりです。logrotateは独自のログをどこに保存しますか?s3fsに何らかの問題がある可能性がありますが、何かをする前に知る必要があります。ログのどこかを見つけようとしましたが、見つけられませんでした。

何か案が?

回答:


20

logrotateデフォルトでは何も記録しません。通常、それはあなたのcronのどこかにあるはずです、例えば:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

手動で実行して問題を確認するか、logrotateの出力を上記のcronのファイルにリダイレクトして、翌日何が起こったかを確認できます。

おそらくどこかで設定が間違っていて、logrotateの実行が中断した可能性があります。


logrotateを手動で実行して+1を確認し、問題を確認します
-cjc

答えに感謝しますが、この種の結果を得るために私のシステムで何が起こったかを本当に知りたいです。ありがとう!
enedebe

logrotateを手動で実行するとエラーが発生しますか?エラーがある場合は、confファイルまたは/etc/logrotate.d/apache(またはapache2)でエラーを修正する必要があります。
-johnshen64

4
-dデバッグフラグと-f強制フラグを使用して、logrotateが試行していることを正確に確認できます。-dアクションを無効にしますが、印刷されたメッセージは変更を行っていると主張します。
デビッドロード

を実行/usr/sbin/logrotate /etc/logrotate.confする-vと、詳細ログを表示するために追加します。
デニスゴロマゾフ


5

見るべきもう一つの良い場所は/var/log/messages、cron.dailyからのこのようなエラーのためのCentOS上/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

デバッグモードで手動で実行し、エラーを確認することもできます。

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

ソース:https : //access.redhat.com/solutions/32831


2

実行している場合 logrotatecronからし、出力をリダイレクトしない場合、出力があれば、cronジョブを実行しているIDの電子メールに送信されます。出力をログファイルにリダイレクトします。

例えば:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1

1

/etc/logrotate.confを通じて構成されたタスクに影響を与える可能性のあるグローバル構成設定を確認します/etc/logrotate.d/


0

logrotateがログをローテーションしないか、失敗状態になった場合、以下のように、デバッグモードでロゴレートを手動で実行して、表示されるエラーを確認することをお勧めします。

/usr/sbin/logrotate -d /etc/logrotate.d/*

このコマンドは、ファイルがにあるすべてのサービスのログのローテーションをテストし/etc/logrotate.dます。エラー(ログエントリの重複によるエラーなど)がリストされている場合、logrotateに問題がある理由がわかります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.