web-dev-qa-db-ja.com

logrotateのスケジュールは何ですか?

大きなログファイルを作成するプログラムに取り組んでいます。

Logrotateで処理したいです。

これは私が/etc/logrotate.d/に設定したものです:

/var/log/myproject.log  {
 hourly
 maxsize 1
 rotate 6
 missingok
 notifempty
 compress
 nocreate
 copytruncate
 su www-data www-data 
}

/var/log/myproject.logには所有者www-dataがあります)

コマンド

Sudo logrotate -vf /etc/logrotate.conf

そして

Sudo logrotate -vf /etc/logrotate.d/myproject

ログを正しくローテーションします。

ただし、それらを呼び出した後は/etc/cron.hourlyは空です。つまり、logrotateは1時間ごとに呼び出されません。

  1. /etc/cron.dailylogrotateスクリプトがあることが保証されていますか?

  2. スクリプトは、ログファイルの更新頻度をチェックします。つまり/etc/cron.dailylogrotateスクリプトがあり、/etc/logrotate.d/にいくつかのログファイルXがある場合、weekly設定を設定すると、Xが毎日ローテーションされるか、毎週?

  3. /etc/cron.daily/logrotate/etc/cron.hourly/にコピーアンドペーストすることはできますか?カットアンドペーストできますか?

  4. 0anacronファイルを/etc/cron.hourly/に追加する必要がありますか?

  5. 1時間ごとのログ記録を有効にするために、他に何かする必要がありますか?

14
user2136963
  1. 番号。

  2. man logrotate から:

    Each  configuration  file  can  set  global  options (local definitions
    override global ones, and later definitions override earlier ones)
    

    あ、はい。

  3. 繰り返しますが、マンページから:

    hourly Log files are rotated every hour. Note that usually logrotate is
           configured  to  be  run  by  cron daily. You have to change this
           configuration and run logrotate hourly  to  be  able  to  really
           rotate logs hourly.
    

    そのため、はい、スクリプトを移動する必要があります。私のシステムでcron.dailyスクリプトを調べると、それを動かしてもうまくいくと思います。

7
muru