!["RegEx"를 사용하여 메일 로그를 효율적으로 검색하는 방법](https://linux55.com/image/5262/%22RegEx%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%A9%94%EC%9D%BC%20%EB%A1%9C%EA%B7%B8%EB%A5%BC%20%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
메일 로그를 효과적으로 검색하는 방법에 대한 조언과 예를 찾고 있습니다.
이런 경우라고 가정해보자
-------- 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
.
내가 한 일은 대기열 ID를 다시 grep하는 것뿐이었습니다.grep "from=<[email protected]>" /var/log/mail.log
syntax
내 질문은: 내가 사용한 명령이 83개의 결과를 반환했기 때문에 정확한 메시지를 검색하거나 검색 결과를 좁히는 가장 효율적인 방법은 무엇입니까?
추신: 좋은 자료에 대한 링크 Searching Logs
도 매우 도움이 될 것입니다.
답변1
SF에 대한 이 게시물의 아이디어를 사용할 수 있습니다. grep postfix 로그에 도움이 필요합니다.
먼저, 기준과 일치할 수 있는 모든 대기열 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
추가 정보:
위의 이메일만 목록이메일 헤더의 주소. 다만, 접미사만봉투 주소 기록.