특정 DSN 태그를 트리거하는 메시지의 보고서 요약을 생성하는 방법

특정 DSN 태그를 트리거하는 메시지의 보고서 요약을 생성하는 방법

저는 CENTOS 5.x에서 Sendmail을 사용하고 있는데 이것이 간단한 문제였으면 좋겠습니다. =) 특정 DSN 코드를 트리거한 메시지에 대한 보고서 요약을 생성해야 합니다. 예를 들어:

Jan 11 07:43:34 server-example sendmail[12732]: p937blksdh3: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=102537, relay=mta.recipientdomain.com. [12.34.56.78], dsn=5.7.1, stat=Service unavailable

일반적으로 나는 이 정보(예: )를 찾기 위해 grep을 사용합니다 grep -i "dsn=5.7.1" /var/log/maillog. 하지만 문제는 위와 같은 줄만 반환하고 메시지 보낸 사람을 알려주지 않는다는 것입니다.

이상적으로는 다음을 수행하는 한 줄의 코드를 찾고 있습니다.

  1. 특정 DSN에 대한 sendmail 메일 로그를 검색합니다.
  2. 이메일을 식별하는 메시지 ID입니다. ( awk '{print $}'사용이 될 것 같은데요 ?)
  3. 각 메시지에 대한 세부 정보를 반환합니다(2단계에서 검색된 메시지 ID에 대한 grep일 수도 있음).

답변1

배쉬에서

dsn=5.7.1
$ grep $dsn /var/log/maillog | awk '{print $6}' | awk -F: '{print $1}'

반품:

p937blksdh3

당신이 게시한 줄에 있는 메시지 ID인 것 같은데요?

글쎄, 그것은 스레드가 아닙니다. 그러면 grep메시지 세부정보는 어디에 저장되나요?

관련 정보