這是一個cron作業,輸出到STDERR會導致發送錯誤的電子郵件通知,這是我需要的。但是,這些錯誤可能是非致命的,所以我還需要使用STDOUT將日誌中包含的STDERR輸出。怎麼樣?bash在日誌中需要STDOUT + STDERR,並將STDERR發送到其正常目標
1
A
回答
1
好吧,我花了幾分鐘的時間研究如何使用標準shell命令行來完成此操作。
爲自己準備一個荒謬的命令行。
((./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 2012-03-30 09:15:39
0
用更少的字符以下命令作品:
((./your-script 3>&1 1>&2 2>&3- | tee /dev/fd/2) 3>&1 1>&2 2>&3-) | cat > logfile
相關問題
- 1. Scons日誌stdout/stderr
- 2. 將輸出stdout和stderr發送到Logstash
- 3. 在日誌文件中獲取stdout + stderr
- 4. 如何將stderr/stdout重定向到我在C++中的日誌?
- 5. Bash腳本stderr和stdout
- 6. 將stdout複製到stderr
- 7. 如何在bash中抑制stdout和stderr
- 8. 在bash中管道stdout和stderr?
- 9. 將bash stderr發送到日誌文件,但前提是存在錯誤
- 10. perl open:如何將stderr轉發到stdout?
- 11. Bash - 重定向stdout登錄和屏幕stderr只有日誌
- 12. 將stdout&stderr重定向到系統日誌
- 13. 如何在Java中將子進程stdout/stderr重定向到主進程stdout/stderr?
- 14. 將SystemVerilog $顯示發送到stderr
- 15. 通過log4j發送JNI C stderr/stdout
- 16. 如何將stderr重定向到Ant中的stderr或stdout?
- 17. bash中stdout和stderr的順序
- 18. LLVM stdin/stdout/stderr
- 19. tomcat logging stdout stderr
- 20. 碼頭日誌,stderr
- 21. 如何將stderr重定向到Ant JUnit目標中的stdout?
- 22. 發送STDERR到記錄器
- 23. 命令行「java -version」將結果發送到stdOut或stdErr?
- 24. 如何在bash腳本中檢測stdout和stderr日誌去哪裏?
- 25. 如何立即在日誌文件中獲取stdout/stderr?
- 26. 如何將Unicorn stdout和stderr導入log4r日誌?
- 27. Bash stderr和stdout重定向失敗
- 28. Bash:獲取stderr和stdout的位置
- 29. Bash:如何將stdin,stdout和stderr重定向到安裝日誌的日誌文件
- 30. 子過程stdout/stderr到有限大小日誌文件
這個被要求每月1-2×。你沒有找到任何幫助嗎?祝你好運。 – shellter 2012-03-29 17:55:35