ssh経由でコマンドを実行するコードがあります。コマンドは次のようになります。
( cd /home/some/path && ./program ) || echo 'error'
これのおかげで、実行が失敗した場合、標準出力に「エラー」が表示され、初期コードの失敗として解釈できます。ただし、このアプローチでは、エラー出力が失われます (ssh 接続を介してプログラムを呼び出すため)。エラー出力をいくつかのエラーログファイルに保存できるようにしたいと思います(awkを使用して日付と時刻で注釈を付けることができれば完璧です)、呼び出し時に出力で「エラー」を取得できるようにしたいと思います失敗した。
私は次のようなものを思いつきました:
( cd /home/some/path && ./program 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' > error.log) || echo 'error'
エラー出力は error.log ファイルに保存されますが、「エラー」メッセージは表示されません。
これを解決する方法はありますか?