Linuxでstdoutとstderrをrsyslogに永久にリダイレクトする方法

Linuxでstdoutとstderrをrsyslogに永久にリダイレクトする方法

私はYoctoの組み込みLinuxバージョンを使用しています。システムで実行されているアプリケーションがコンソールに情報を表示したくありません。これらのログをシステムログにリダイレクトしたり、最終的には別の一般的なファイルにリダイレクトしたいと思います。私はスクリプトやアプリケーション内でrsyslogに直接ログインできることを知っていますが、システム内のすべてのアプリケーションのソースを変更するのは難しいです。 stdoutとstderrをrsyslogに強制的にリダイレクトしたり、最終的に別の一般ファイルに永久にリダイレクトしたりできますか?

答え1

に書くことができますlogger。デフォルトでは機能と優先順位が使用されますuser.noticeが、これは適切なコマンドフラグを使用して変更できます。

logger 'this is a test'

ps -ef 2>&1 | logger

答え2

リダイレクトを使用してシェルを実行できます。

$ bash >out 2>err
ls
exit

これで、そのシェルで実行されたコマンドのすべての出力がファイルに移動され、outすべてのエラーがerr

関連情報