bashスクリプトが出力をsystemdログに送信するのは簡単ですが、正しい方法は何ですか?

bashスクリプトが出力をsystemdログに送信するのは簡単ですが、正しい方法は何ですか?

私はbashスクリプトの上にこのようなものを置きました。これはまだsystemdで動作します。 (久しぶりに使ってきましたがよくわかりませんね。ただ効果があって使っています。)

exec 5> >(logger -t $0)
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x

systemdを使用しても、上記のコマンドはJournalctlから予想される出力を提供します。しかし、代わりにこのようなものを使用する必要があるようです。

systemd-cat -t $0

systemdで現在のロギングコマンドをどのように変更する必要がありますか?

(私はいくつかの行を貼り付けてログにいくつかの出力を得ることができるのと同じくらい簡単な解決策を探しています。)

ベストアンサー1

私は主張しますlogger:それはあなたが見つけたsystemdログを含むすべての標準互換ロギングシステムで動作します。これを直接使用すると、systemd-cat実際に何も追加せずにスクリプトをsystemdに合わせることができます。loggersystemdよりも柔軟でsystemd固有の機能のより良いサポートを提供します。systemd-catそれ自体。

おすすめ記事