web-dev-qa-db-ja.com

2時間ごとにlogrotate

2時間ごとにhttpryログを作成しようとしています。これをlogrotate.confファイルに追加しました:

/var/log/httpry/*.log {
    rotate 1
    weekly
    create 640 root admin
    missingok
    notifempty
}

毎週から毎時間(まだ2時間おきに必要)に変更してみましたが、うまくいきません。スクリプトをcron.dailyからcron.hourlyにコピーするために読み取りましたが、すべてのcronファイルが空です。

2時間ごとに新しいログファイルを作成するにはどうすればよいですか?

4
o.o

このトリックが別の blog で以前に使用されたのを見たことがある。

Logrotateの構成ファイルを作成し、httpry.confと呼びます

/var/log/httpry/*.log {
    size 2
    rotate 84
    compress
    missingok
    copytruncate
}

次に、cron(ログファイルの権限と所有権によってはルートのcrontabにある必要がある場合があります)から、次のcrontabを作成します。

0 */2 * * * logrotate -f /path/to/httpry.conf

EDIT:OPのcrontab編集について説明します

crontab -eを発行して、ユーザーアカウントのcrontabを作成できます。特定のユーザーのcrontabを編集する場合は、rootとしてcrontab -e userまたは一部のシステムではcrontab -e -u userを使用します。次に、crontabを編集できるEDITORに入ります。ファイルを書き出すと、crontabにエラーがないかどうかが確認され(正しくない場合はエラーが表示されます)、正しい場合はcrontabがインストールされます。

rotate 84オプションは、彼がブログで説明しているように、1週間分のログを保持することです。 (24/2時間間隔= 1日あたり12ログ、12 * 7 = 84 ..または1週間分のログ)。

3
Drav Sloan