複数のCentosサーバーでlogrotate操作を実行しています。新しいサーバーの設定は少し異なり、何らかの理由でlogrotateがhttpdサービスでは機能しません。手動で起動すると、期待どおりに動作します。先週に設定しましたが、4日間は一度も実行されませんでした。
/etc/cron.daily/logrotateファイルが存在するため、cronジョブは毎日実行する必要があるようです。
/etc/logrotate.confの内容
#詳細については、「man logrotate」を参照してください。 #毎週ログファイルを交換します。 週間 #4週間のバックログを維持する スピン4 #古いログファイルを置き換えたら、新しい(空の)ログファイルを作成します。 作る #回転したファイルのサフィックスとして日付を使用します。 日付テキスト #ログファイルを圧縮するにはコメントを外します。 #圧縮 #RPMパッケージはログ回転情報をこのディレクトリに保存します。 /etc/logrotate.dを含む #wtmpとbtmpを含むパッケージはありません。ここでこれらを回転させます。 /var/log/wtmp { 月ごと 0664 ルートutmp生成 最小サイズ1M スピン1 } /var/log/btmp { 未来 月ごと 0600 ルート utmp 生成 スピン1 } #システム固有のログもここで設定できます。
/etc/logrotate.d/httpdの内容。私はこれがlogrotate.conf設定を無視すると思います。
/var/log/httpd/*log { 毎日 圧縮 スピン20 未来 通知が空です スクリプトの共有 遅延圧縮 バックスピン /sbin/service httpd reload > /dev/null 2>/dev/null || 最終ドラフト }
なぜ動作しないのですか?
答え1
クローンが実行されていません。再起動後、cronが機能し始め、logrotateも機能しました。