29
A
回答
43
tail -fn0 logfile | \
while read line ; do
echo "$line" | grep "pattern"
if [ $? = 0 ]
then
... do something ...
fi
done
12
我也發現了,你可以用awk來監控模式,並執行一些操作模式時發現:
tail -fn0 logfile | awk '/pattern/ { print | "command" }'
這將執行命令時模式的日誌中找到。命令可以是任何unix命令,包括shell腳本或其他任何東西。
3
更強大的方法是monit。該工具可以監視很多事情,但其中之一是它可以輕鬆地拖尾一個或多個日誌,與正則表達式匹配,然後觸發腳本。如果您有一組要監視的日誌文件或多個要觸發的事件,這一點尤其有用。
0
Simple Automated Solution that covers a lot of scenarios:
用法:
logrobot localhost [default-dir],fixer,[exit-codes],[command/script-to-run-per-exit-code] [feature] [logfile] [age] [str-1] [str-2] [WARN] [CRIT] [tag] [option]
例:
logrobot localhost /tmp/logXray,fixer,0y-1y-2y,0-uname,1-who,2-uptime autonda /var/log/kern.log 60m 'error' '.' 1 2 app_err_monitor -ndshow
有了這個工具,可以監視在日誌文件中的特定模式,然後觸發命令或當發現圖案時的腳本...或未找到!
腳本或命令可以設置爲基於閾值和退出代碼運行。
工具可以直接下載here。
1
連擊簡單:
tail -f log.txt | egrep -m 1 "error"
echo "Found error, do sth."
...
相關問題
- 1. 監視日誌,匹配關鍵字,運行命令並繼續監視
- 2. Dockerpy執行命令貓日誌文件
- 3. Windows Server日誌文件中的關鍵字監控
- 4. bash:下一個命令行在failglob觸發後不能執行
- 5. 監控SQL日誌文件
- 6. 奇怪的命令提示執行「文件」後執行日誌exec
- 7. 監視文件夾並執行命令
- 8. 同時監控多個日誌文件
- 9. 執行一個命令行.exe文件
- 10. 執行一個插入,然後登錄一個SQL命令
- 11. 開發日誌監控軟件
- 12. 執行第一個命令後,我將如何執行另一個SELECT命令?
- 13. 寫批處理文件從文本文件中讀取一個數字,然後用該數字執行命令
- 14. 使用powershell解析關鍵字的日誌文件,並在查找時執行命令
- 15. 如果線匹配任何字符串後,然後執行命令
- 16. 監控事件日誌
- 17. Mysql事件日誌(監控)
- 18. 找到一個關鍵字,同時拖尾日誌,然後做X
- 19. 監控可執行文件
- 20. 使用bash讀取一個文件,然後從單詞執行命令提取
- 21. OEM 13C日誌文件監控
- 22. 如何在讀取日誌以檢查命令在執行另一個命令之前是否完成執行?
- 23. 如何在命令行中提取多個.gz日誌文件
- 24. 執行命令,然後退出
- 25. PHP:執行命令,然後繼續?
- 26. 如何在執行sql命令後觸發警報?
- 27. 上一個命令完成後執行下一個命令
- 28. 根據日誌中的關鍵字實時觸發動作
- 29. 監控更改一組文件,並在其上執行命令時,他們做
- 30. 如何先執行限制,然後使用mysql執行命令?
哦,還有一兩件事,在`尾-fn0 logfile`似乎到期,因爲HTTP服務器的日誌文件中快速重命名並gzip壓縮。腳本仍然監視我認爲的舊文件描述符?是否有一種方法可以在`tail`命令的一段時間後自動更新文件inode或其他東西? – est 2010-12-10 03:35:07
只需向 - tail命令添加--retry,或者使用-F而不是-f。這應該做到這一點。 – Zizzencs 2010-12-14 14:32:33