Linux

如何使用 RegEx 有效地搜尋郵件日誌

  • September 3, 2016

我正在尋找一些關於有效搜尋郵件日誌的建議和範例

假設情況是這樣的

-------- Forwarded Message --------
Subject: Fwd: Re: Notice of Allowance 
Date: Fri, 13 Mar 2015 16:02:17 +0530
From: Sachin Tendulkar <sachin@tendulkar.glbl>
To: Brett lee <brett@lee.glbl>
CC: 'Brian Lara' <brian@lara.glbl>

現在問題是收件人沒有收到郵件,所以我必須找出問題所在,我可以通過grepping.

然後我所做的是grep "from=<sachin@tendulkar.glbl>" /var/log/mail.log再次grepped隊列ID。

我的問題是:syntax搜尋確切郵件或縮小搜尋結果最有效,因為我使用的命令返回了 83 個結果!

PS:任何指向一些好材料的連結Searching Logs也將非常有幫助。

您可以在 SF 上使用此執行緒中的想法: Need help grepping postfix log

首先,您應該搜尋與您的條件匹配的所有可能的隊列 IDS。為此,您可以使用命令

grep 'from=<sachin@tendulkar.glbl>' /var/log/maillog | cut -d ' ' -f 6

或者

grep 'to=<recipient@example.com' /var/log/maillog | cut -d ' ' -f 6

然後您可以使用日誌中的隊列 ID 根據隊列 ID 列出所有資訊

grep 'to=<sachin@tendulkar.glbl>' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog

當然,這將列出所有條目,如果您需要,grep nrcpt=3則通過管道傳輸它們。

grep 'to=<recipient@example.com' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog | grep nrcpt=3

附加說明:

上面的電子郵件僅在電子郵件標題中列出地址。但是,後綴只記錄信封地址

引用自:https://unix.stackexchange.com/questions/190766