特定の期間より古いエントリを削除するようにログを設定する方法

特定の期間より古いエントリを削除するようにログを設定する方法

~から文書構成できることを知っています。

  1. 日記以降の時間文書削除としてMaxRetentionSec
  2. 日記以降の時間文書回転してMaxFileSec

しかし、私の目標は、すべてのログエントリが年間を通して1つのファイルに保存されるようにログを設定することです。長老記入廃棄する必要があります。

私の現在の解決策は

  • MaxRetentionSec=1year
  • MaxFileSec=1month

しかし、ここには2つの主な欠点があります。

  1. ログは毎月交換されるため、前のエントリにアクセスするのは面倒です。
  2. 1年が経過すると、Journaldは1日ではなく1ヶ月全体を削除します。

Targetで説明されているように機能するようにログを構成できますか?

答え1

askubuntu stackexchangeで次の素晴らしい答えを見つけました。https://askubuntu.com/a/1012913/36168

要約すると、著者はユースケースに応じて毎日定期的に実行するようにcronjobを設定することをお勧めします。

$ journalctl --vacuum-time=1y

引用:

答え2

しかし、私の目標は、すべてのログエントリが年間を通して1つのファイルに保存されるようにログを設定することです。

つまり、ファイルは1年後に回転し、最後の項目から1年が経過すると削除されます。

あなたがしたいことをする方法はありません。やるべきsyslogことはlogrotate、複数のファイルに回転し、最も古いファイルを削除することです。 1ヶ月間のログロードスペースを無駄にしたくない場合は、より頻繁に交換できます。

ログは毎月交換されるため、前のエントリにアクセスするのは面倒です。

どのように?このjournalctlユーティリティは、利用可能なすべてのログファイルをシームレスに読み込みます。

関連情報