質問: journaldでユニットごとのログストレージポリシーを構成する方法 珍しいが重要な情報をログに記録する特定のサービスがあります。数か月前に設定しましたが、今日は_journalctl -n 50 --unit=my-service_を実行して、エントリがないことを確認しました。私はほとんどのユニットでこの動作に完全に満足しています。すぐに(または多くても数日前)起こったことが必要であり、数か月前のレコードは気にしません。しかし、journaldに単一の特定のユニットのレコードに対して独立したストレージおよび保持ポリシーを持たせるように指示する方法はありますか?私はそれらの特定のログを、たとえば5年間、それがかかるサイズに関係なく保持したいと考えています。他のユニットのログはこれによる影響を受けず、既存の動作を保持する必要があります。私はjournald.conf(5)を理解できなくなっており、ユニット単位の構成が可能な場合はいつでも理解できません。もしそうなら—簡単な具体例に感謝します-どのファイルを編集/作成し、何を書けばよいですか。あるいは、確かにそれができないことを確かに知っているなら、それも良い答えになるでしょう。注:私の特定のケースにはarch linux hostが含まれますが、これはそれほど問題ではないと思います。
回答: 私はジャーナリングに不運な可能性が高いようです。独立した "長期保存"ジャーナルを生成する方法(現在、ユーザーごとに異なるジャーナルがあるように)を見つけない限り、それが実行可能で正気なアプローチであるかどうかはわかりません。おそらく、syslogd(およびlogrotate)のセットアップの方が簡単でしょう。機能 2014年後半には存在しませんでした 。そして、それはまだここにないようです。少なくとも、「journald:ローテーション/バキューム時に優先度とサービスごとの保持時間を許可する」という行 まだtodoファイルにあります (2016-07-11からのリビジョンへのリンク)。