web-dev-qa-db-ja.com

`RegEx`でメールログを効果的に検索する方法

メールログを効果的に検索するためのアドバイスと例を探していました

こんな状況だとしよう

-------- Forwarded Message --------
Subject: Fwd: Re: Notice of Allowance 
Date: Fri, 13 Mar 2015 16:02:17 +0530
From: Sachin Tendulkar <[email protected]>
To: Brett lee <[email protected]>
CC: 'Brian Lara' <[email protected]>

さて、問題は受信者がメールを受信して​​いないため、何が問題なのかを調べなければならず、greppingでそれを行うことができます。

私がしたことはgrep "from=<[email protected]>" /var/log/mail.logであり、キューIDを再度grepしました。

私の質問は、正確なメールを検索したり、検索結果を絞り込んだりするのに最も効果的なsyntaxは何ですか。

PS:Searching Logsの優れた資料へのリンクも非常に役立ちます。

3
Neel

SFのこのスレッドからのアイデアを使用できます: postfixログをgrepする必要があります

まず、基準に一致するすべての可能なキューIDSを検索する必要があります。これを行うには、コマンドを使用できます

grep 'from=<[email protected]>' /var/log/maillog | cut -d ' ' -f 6

または

grep 'to=<[email protected]' /var/log/maillog | cut -d ' ' -f 6

次に、ログのキューIDを使用して、キューIDに基づいてすべての情報を一覧表示できます

grep 'to=<[email protected]>' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog

もちろん、必要な場合は、すべてのエントリがリストされますgrep nrcpt=3次に、それらをパイプします。

grep 'to=<[email protected]' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog | grep nrcpt=3

追記:

上記の電子メールは、リスト電子メールヘッダーのアドレスのみをリストします。ただし、Postfixのみエンベロープアドレスのログ

3
masegaloeh