これはcronジョブであり、STDERRへの出力はエラーの電子メール通知になります。しかし、エラーは致命的ではない可能性があるので、STDOUTでログにSTDERR出力が含まれている必要があります。どうやって?bashがログにSTDOUT + STDERR、通常の宛先にSTDERRが必要
1
A
答えて
1
私は、標準のシェルコマンドラインでこれを行う方法を試してみました。
ばかげたコマンドラインを用意してください。
((./your-script 3>&1 1>&2 2>&3 3>&- | tee /dev/fd/2) 3>&1 1>&2 2>&3 3>&-) |
cat >logfile
私はその醜態について言うことができる唯一のことは、それが動作することである...と私も動作しますシンプルな何かを見つけることができません。ああ、それはbash
か何かを必要としません。標準のbourneシェルで動作します。
最後に近いところに| cat
がなければならないという手がかりはありませんが、それがなければ動作しません。少ない文字で
+0
最後に 'cat'を追加すると、バッファリングモードが変更されるため、出力が早く(おそらく)表示されますが、最後はすべて同じになると思います。 – ams
0
次のコマンド作品:
((./your-script 3>&1 1>&2 2>&3- | tee /dev/fd/2) 3>&1 1>&2 2>&3-) | cat > logfile
関連する問題
- 1. ABAP StdoutとStderr
- 2. STDERRがSTDOUTにリダイレクトされる理由
- 3. サブプロセスstderrをstdoutにリダイレクト
- 4. stdout、stderr、stdout + stderrを同期して保存します
- 5. 子プロセスstdout/stderrをJavaのメインプロセスstdout/stderrにリダイレクトする方法は?
- 6. stderrまたはstdoutにメッセージを記録する必要がありますか?
- 7. Pythonログをstdoutとstderrに分割する
- 8. 各スレッドのstdout/stderrをリダイレクト
- 9. popen stderrとstdoutをパイプ
- 10. NDKでstdout/stderrをキャプチャ
- 11. ksh stdoutとstderrを別のプロセスにリダイレクト
- 12. python subprocess.Popen(コマンド、stderr = subprocess.PIPE、stdout = subprocess.PIPE)のstderrをキャプチャします。
- 13. マルチスレッドのPython Popen - stdout/stderrログを削除できません
- 14. stdout、stderrを/ dev/ttyに戻す方法
- 15. STDOUTとSTDERRをファイル ">&"にリダイレクト
- 16. bashスクリプトでstdoutとstderrのリダイレクトをテストする
- 17. Makefileルール内のstdoutとstderrのリダイレクト
- 18. $ stdoutと$ stderrからのRuby同期ouput
- 19. stderr outとstdoutを別々のログに再定義する方法は?
- 20. C#Windowsサービスでstdout + stderrをリダイレクト
- 21. C#GUIプロジェクトでstdout + stderrをリダイレクト
- 22. バッチファイル内からstdoutとstderrをリダイレクト
- 23. nohupとsed、stderrとstdoutをリダイレクト
- 24. ログファイルでstdout + stderrを取得する
- 25. /dev/ttyでSTDOUTとSTDERRをリセットする
- 26. Intellij IDEAのstderrとstdoutのコンソールが異なりますか?
- 27. STDERRまたはSTDOUTに警告を出力する必要がありますか?
- 28. STDOUTが異なる宛先である場合にのみ、STDERRに印刷するにはどうすればよいですか?
- 29. log4j2は日常的にstdout/stderrログファイルを生成できますか?
- 30. stderrリダイレクト方法
これは、月あたり1〜2×を尋ねます。助けるものは何も見つかりませんでしたか?がんばろう。 – shellter