web-dev-qa-db-ja.com

毎日、サイズとログローテーションは?

Logrotate configが「size」と「daily」パラメーターで指定されている場合、どちらが優先されますか?これはどこに文書化されていますか?これらのローテーションはブール値ORオペレーションとして発生します。つまり、ログが1日経過するとローテーションされます。ORより大きい場合特定のサイズもローテーションされます。ただし、logrotateは現在「size」ディレクティブのみを使用しており、「daily」ディレクティブを無視しているようです。Logrotateは1時間ごとに実行されるように設定されています。OSはLinux、Red Hat、Debianです。誘導体。

また、最初は「日別」、次にファイルの先頭から「サイズ」を指定しています。順序が重要かどうかはわかりませんが、いずれにしても、設定ファイルで最初に来る必要があります...

ありがとう!

43
cat pants

@Eggによる最初の答えは、logrotateでの私の経験によれば、真実ではありません!

毎日、毎月、...が来ると最初となり、その後サイズディレクティブ、毎日、毎月、... =は無視され、sizeディレクティブがログファイルに適用されます。

同様に、最初にsizeディレクティブを使用し、次にdaily、weekly、monthly、およびyearlyディレクティブを使用すると、sizeディレクティブは無視されます。

2
M. S.

Dailyを追加すると、サイズ条件が満たされていても、毎日ローテーションします。サイズ条件も追加すると、ロギングの詳細度によっては、1日に2ローテーションが発生する場合があります。

スクリプトで日次が最初に実行される場合、サイズは発火しない可能性があります。

1
Paul Hickox

実際、Red Hatの私のmanページでは、サイズとminsizeの違いがかなり明確に示されています。

最小サイズ

          Log  files  are rotated when they grow bigger then size bytes,
          but  not  before  the  additionally  specified  time  interval
          (daily,  weekly, monthly, or yearly).  The related size option
          is similar except that it is mutually exclusive with the  time
          interval  options, and it causes log files to be rotated with-
          out regard for the last rotation time.  When minsize is  used,
          both the size and timestamp of a log file are considered.
1
Geoffrey M.