ご使用のOSによります。一部の(すべて?)Linuxディストリビューションには、/etc/cron.hourly
1時間ごとに実行されるcronジョブを配置できるディレクトリがあります。
他にはディレクトリがあり/etc/cron.d/
ます。そこには、crontabエントリの通常のcron設定を持つ特別なユーザーとして実行されるcronジョブを置くことができます(そしてユーザー名を指定する必要があります)。
標準のログ回転スクリプトの代わりにこれらのいずれかを使用する場合は、/etc/cron.daily/
そのスクリプトをcp /dev/null
元の位置にコピーする必要があります。それ以外の場合は、logrotate patch-updateによって再アクティブ化されます。
適切な1時間ごとのローテーションのために、dateext
ディレクティブが設定されていないことにも注意してください。その場合、デフォルトでは、最初にローテーションされたファイルは、YYYYMMDDのような現在の日付の拡張子を取得します。その後、同じ日に2度目のlogrotateがアクティブになり、size
しきい値を超えた場合でも単純にローテーションがスキップされます。
その理由は、ローテーションするファイルの新しい名前がすでに存在し、logrotateは既存の古いファイルにコンテンツを追加しないためです。たとえば、RHELおよびCentOSでは、dateext
ディレクティブはデフォルトでに指定されています/etc/logrotate.conf
。その行を削除またはコメント化した後、ローテーションされたファイルは、rotate
値に達するまで拡張子として連続した番号を取得するだけです。このようにして、1日に複数のローテーションを実行できます。