ログ出力をsyslog-ngのオプションの引数としてコマンドに送信できますか?

ログ出力をsyslog-ngのオプションの引数としてコマンドに送信できますか?

文書によると、次のプログラムを実行できます。

destination knotifier { program('/path/to/executable'; };

実行可能ファイルの標準入力にログを送信します。しかし、私が実行しているプログラムでパラメータをオプションとして入力する必要がある場合はどうなりますか?これを行う方法はありますか?または、実行中のプログラムのラッパーを作成する必要がありますか?

ベストアンサー1

私が正しく理解し、これがLinuxにある場合は、次のことを試すことができます。

/proc/self/fd/0

議論として。これはプロセスの標準入力へのシンボリックリンクでなければなりません。同様に、一部のシステムでは、以下を使用できます。

/dev/stdin

これは通常単にシンボリックリンクです/proc/self/fd/0。これをテストできるsyslog-ngを持つシステムはありませんが、次のようなことがうまくいくと思います。

destination knotifier { program('/path/to/executable -i /proc/self/fd/0'); };

ここで、-iは実行可能ファイルに必要なコマンドラインスイッチ(存在する場合)を置き換えます。また、/dev/fd/0 が使用されるのを見たことがありますが、/proc を直接使用する傾向があります。詳細についてはを参照してくださいman proc

おすすめ記事