GNU/Linux >> Linux の 問題 >  >> Linux

logrotate は /var/log/messages を圧縮しません

解決策 1:

delaycompress を追加 /var/log/messages の設定セクションへ 問題を解決しました。

man logrotate から :

   delaycompress
          Postpone  compression of the previous log file to the next rota‐
          tion cycle.  This only has effect when used in combination  with
          compress.   It  can  be used when some program cannot be told to
          close its logfile and thus might continue writing to the  previ‐
          ous log file for some time.

sysklogdだと思います 、私の syslog デーモンは、そのログファイルを閉じるように指示できないため、これが必要です。

興味深いことに、私が持っていた元の構成 (delaycompress なし) ディレクティブ)、man logrotate からそのまま出てきました (ただし weekly を変更しました daily まで ):

   # sample logrotate configuration file
   compress

   /var/log/messages {
       rotate 5
       weekly
       postrotate
           /usr/bin/killall -HUP syslogd
       endscript
   }

解決策 2:

この情報だけでは何とも言えませんが、何度か私を救ってくれた理由は言えます.

Logrotate にはデバッグ オプションがあり、実行する各ステップの再生ごとに stdout に出力します。したがって、この場合、次のことができます:

logrotate -d /etc/logrotate.conf

出力は、正確に何が起こっているかを示します。また、デバッグ出力を絞り込みたい場合は、

logrotate -d /etc/logrotate.d/messages

ただし、ファイルを直接指定すると、メインの構成オプションが読み取られないことを意味するため、メインの logrotate.conf オプションをそのファイル ブロックに一時的に配置することをお勧めします。個々のファイルを指定すると、 -f を使用できることも意味します (強制) オプションをデバッグ オプションと組み合わせて使用​​すると、メッセージ ファイルの実際のローテーションを確認できます。


Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. ログファイルに何が追加されているかをリアルタイムで確認する便利な方法は何ですか?

  3. CentOS/RHEL で /var/log/messages のデフォルトのアクセス許可を変更する方法

  1. auditd ログ ファイル /var/log/audit/audit.log のパスを変更する方法

  2. システム ログ ファイル /var/log/messages が自動的に削除またはトリミングされる (CentOS/RHEL)

  3. CentOS/RHEL の /var/log/messages にホスト名の変更が反映されない

  1. CentOS / RHEL :logrotate を使用して /var/log/wtmp および /var/log/btmp ファイルをローテーションする方法

  2. /var/log/messages ファイルの「Abort command generated nexus」エラー メッセージ

  3. /var/log/lastlog ファイルを切り詰める方法