logrotate を使用して、別のサービスによって管理/ローテーションされているログのみを削除する

logrotate を使用して、別のサービスによって管理/ローテーションされているログのみを削除する

ログ ファイルのローテーションを独自に管理するプログラムは数多くあります。ただし、その多くはログをローテーションするだけで、削除は行いません。また、これはシステム管理者の仕事の一部であり、必要に応じてバックアップまたは削除を行うものと想定しています。

私の質問は、Logrotateを使用して古いログファイルのみを削除できるかどうかです。

/some/log/path/*{
maxage 90
}

これは Cron やその他の方法で簡単に実現できることはわかっていますが、私の質問は特に Logrotate の使用に関するものです。これを行うと何か欠点はありますか?

ありがとう!

答え1

マニュアルページ言う:

最大年齢カウント

<count>日より古いローテーションログを削除します。ログファイルをローテーションする場合にのみ、経過時間がチェックされます。maillast と mail が設定されている場合、ファイルは設定されたアドレスにメールで送信されます。

(強調追加) これに従うと、logrotateログのローテーションを担当していない限り、はmaxage無視されます。

実質的に何もしない回転操作を実行するように logrotate を構成することを考えましたが、それを簡単に許可する構成オプションは見つかりませんでした。

関連情報