通常、私のbashスクリプトでは、これを行うのに慣れていますsome_command >> log.log
。これは正常に機能しますが、時間やコマンド名などのデータを追加するにはどうすればよいですか?
私の目標は、このようなログを作成することです
2012-01-01 00:00:01 [some_command] => some command output...
2012-01-01 00:01:01 [other_command] => other command output...
プロセスは、実行とファイルへの書き込みを同時に行う必要があります。
私の場合、William Pursellが指摘した最終的な解決策は、次のようになります。
some_command 2>&1 | perl -ne '$|=1; print localtime . ": [somme_command] $_"' >> /log.log &
また、プログラムをバックグラウンドに保つために、とをファイルにリダイレクトし、最後に2>&1
をリダイレクトするように追加しました。STDOUT
STDERR
&
ありがとうございました!