Logrotateが期待どおりに機能しません。

Logrotateが期待どおりに機能しません。

私のログ回転の設定は次のとおりです。

/var/log/glusterfs/*.log /var/log/glusterfs/bricks/*.log /var/log/glusterfs/bricks/*.log.* {
  sharedscripts
  daily
  rotate 3
  copytruncate
  size 100M
  missingok
  compress
  delaycompress
  ifempty
  postrotate
  /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
  /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
  endscript
}

ディレクトリは次のとおりです。

username@server:/var/log/glusterfs/bricks$ ll
total 405980
-rw------- 1 root root         0 Dec 23 00:05 be-data.log
-rw------- 1 root root         1 Dec 29 09:38 be.log.1
-rw------- 1 root root         0 Dec 25 11:24 nl.log
-rw------- 1 root root         0 Dec 29 09:49 nl.log.1.1
-rw------- 1 root root         0 Dec 29 09:50 nl.log.1.1.1
-rw------- 1 root root         0 Dec 29 09:55 nl.log.1.1.1.1
-rw------- 1 root root         0 Dec 29 09:55 nl.log.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 09:55 nl.log.1.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 09:55 nl.log.1.1.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 09:55 nl.log.1.1.1.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 10:08 nl.log.1.1.1.1.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 10:08 nl.log.1.1.1.1.1.1.1.1.1.1
-rw------- 1 root root         0 Dec 29 10:08 nl.log.1.1.1.1.1.1.1.1.1.1.1
-rw------- 1 root root 368402432 Dec 29 10:08 nl.log.1.1.1.1.1.1.1.1.1.1.1.1
-rw------- 1 root root    610304 Dec 23 00:05 bo.log.1
-rw------- 1 root root    860160 Dec 23 00:05 bricks.log.1
-rw------- 1 root root    589824 Dec 23 00:05 other.log.1

私が見ることができるもの:

  • ログは圧縮されません。
  • ログが100MBを超える
  • 計算が機能しません
  • 空のログファイルが存在し、空のログファイルが循環したくありません。

私のlogrotate設定は上記のすべての問題をどのように解決するのですか?

ベストアンサー1

設定ファイルで、ディレクトリのログファイルに2つのモードを指定します/var/log/glusterfs/bricks

  1. *.log
  2. *.log.*

これらのパターンの2番目のパターンは、回転したログファイルと一致します。これが.1無限にサフィックス付きのファイルを取得する理由です。

ログファイルはdelaycompress設定で圧縮されているため圧縮されません。次の回転では圧縮されます。最初の問題(上記の2番目のパターンのためにすでに回転しているログの回転)は、すべての回転が「最初の」回転であるため、実際に圧縮を無効にします。

ログファイルが 100M より大きい場合、設定に従って循環します。これより大きいファイルがあります。上記の2番目のログファイルパターンに関連する問題のため、すべての呼び出しで回転して圧縮されません。

空のログファイルがあります。これは上記の誤ったログファイルの一致パターンのもう1つの効果です。ログファイルが回転すると、name-of-file.log.1元のファイルにコピーされ、name-of-file.log切り捨てられます(「空」)。また、*.log.*構成のパターンにより、name-of-file.log.1次回の回転時にファイルがコピーされ、元のファイルが切り捨てられます。name-of-file.log.1.1name-of-file.log.1

これはうまく機能しますが、ログファイルモードは実際のログファイルだけでなく回転したログファイルもインポートするため、最終的に混乱します。

おすすめ記事