FreeBSDには、次の循環ログファイルをサポートするユーティリティがあります。ブロックする。
特定のサービス(systemdおよびそのログの外部)に対するログの維持を防ぐことは非常に興味深いものです。
Linuxおよび/またはrsyslogで同じことを行う他の方法はありますか?
答え1
同じことを行うツールがあります。両方FreeBSDそしてLinuxは他のオペレーティングシステムの1つです。
厳密なサイズ制約を持つ自動回転ログの生成
次のツールは、指定されたディレクトリ内で必要に応じて回転できる厳密に制限されたサイズの自動回転ログファイルのセットを維持します。
- ダンバーンスタイン
multilog
~からデーモンツール、またはブルースガンターのmultilog
~からdaemontools-アンコールまたはAdammultilog
Sampson艦隊 - ローランベルコ
s6-log
~からs6 - ゲレットペプの
svlogd
~から走る - ウェインマーシャル
tinylog
~から犯人 - 私のもの
cyclog
~からおやつ
使い方はとても簡単です。記録するプロセスの標準出力と標準エラーを通常の方法で標準入力にパイプします。
./記録する内容2>&1 |自転車ログ/
cyclog
行にTAI64Nタイムスタンプを標準として追加します。コンテンツにすでにタイムスタンプが指定されている場合は、タイムスタンプ解除処理にはsmultilog
または各タイムスタンプが追加されるデフォルト以外のオプションのs6-log
いずれかを使用してください。svlogd
代替システムログ
あなたが言うことは、syslog
現在完全に適用されていない2001パッチを使用してFreeBSD自体を修正して別の出力ファイルメカニズムを持つようにすることです。
もう1つのアプローチは、最初にsyslogを使用するのではなく、syslogデーモンを完全に置き換えてより多くのサービスを構成し、標準エラーにログを記録するように(標準エラーをロギングサービスにパイプするサービス管理下で)構成することです。
例:noshツールセットは、syslog操作を分割し、上記のロギングツールの1つの標準入力を介して供給するのに適した出力を生成するいくつかの選択肢を提供します。
klogd
という単純なプログラムを実行するサービスです。klog-read
このログストリームを読み取り、/proc/kmsg
標準エラーに書き込みます。local-syslog-read
というプログラムを実行するサービスsyslog-read
/dev/log
(/run/log
BSD)からデータグラムを読み取り、ログストリームを標準エラーに書き込みます。udp-syslog-read
上記のサービスを実行するサービスsyslog-read
プログラムは UDP syslog ポートをリッスンし、ログ・ストリームを標準エラーに書き込みます。local-priv-syslog-read
上記のサービスを実行するサービスsyslog-read
プログラムはデータグラムを読み取り、/run/logpriv
ログ・ストリームを標準エラーに書き込みます。
追加読書
- ジョナサンデボインポラード(2015)。 」記録」。デーモンツールシリーズ。よく与えられる答えです。
- ジョナサンデボインポラード(2016)。今世紀にはlogrotateやnewsyslogを使用しないでください。。よく与えられる答えです。
- ジョナサンデボインポラード(2016)。 」記録」。 スナックガイド。ソフトウェア。
- https://unix.stackexchange.com/a/294206/5132
- https://unix.stackexchange.com/a/326166/5132
- https://unix.stackexchange.com/a/340631/5132