모든 FreeBSD 시스템은 관리자( root
보통 다른 사람의 별칭)에게 하루에 두 개의 이메일을 보냅니다.
- 일일 cron 출력(디스크 상태, 네트워크 인터페이스 등 포함)
- 일일 보안 출력(로그 등에서 발견된 악용 시도)
작업 출력이 "과중한"(예: locate
업데이트) 것으로 간주되어 매일 실행할 필요가 없는 주간 및 월간 보고 쌍도 있습니다.
대부분의 경우 이러한 이메일은 너무 지루해서 읽지도 않고 삭제하는 경우가 많습니다. 하지만 나는 이렇게 하는 것에 대해 죄책감을 느낍니다. 왜냐하면 언젠가 중요한 것을 놓칠 가능성이 높기 때문이고, 읽지 않으면 애초에 그 내용을 다른 방향으로 돌릴 가능성도 있기 때문입니다 /dev/унітаз
.
나는 5-7개의 FreeBSD 상자(내 자신과 직계 가족의 상자)를 관리하고 있는데 점점 복잡해지고 있습니다. 숨겨진 나머지 상자를 조용히 제거하면서 잠재적으로 "흥미로운" 보고서에 대해 경고할 수 있는 소프트웨어가 있습니까? 베이지안 스팸 필터와 같은 "학습 가능한" 것?
이상적으로는 Seamonkey/Thunderbird와 통합되지만 명령줄 기반일 수도 있습니다(내에서 실행하겠습니다 ~/.procmailrc
)...
답변1
procmail의 정규식은 여러 줄에 걸쳐 있을 수 있습니다(그러나 procmail의 모든 것과 마찬가지로 규칙이 자동으로 실패하게 만드는 오타를 범하지 않도록 주의해야 합니다). 과거에는 모든 것이 잘 되었을 때 보고서와 일치하는 procmail 레시피를 작성하여 noise
메일함에 저장한 적이 있습니다. 그런 다음 해당 보고서가 내 사서함에 도착하면 내가 살펴보아야 할 문제(내 문제이거나 .procmailrc
) 가 있다는 의미입니다.
다음은 메시지의 헤더와 본문을 살펴보고 이전 orkplace에서 받았던 복잡한 보고서를 확인하는 예입니다.
:0 :
* ^From: [email protected]
* ^To: [email protected]
* ^Subject: cron output from host.my.dom.ain
* B ?? ^^No account processing to do this run\.\.\.\
^Configuring databases\. Please wait\.\.\.\
(^\*\*\* No IP address for.*)*\
^Processed [0-9]+ total hosts with the following distribution:\
(^[0-9]+ (common|osX|win(7|8)))+
\
^Generated [0-9]+ ganglia clusters containing [0-9]+ machines\
(^Installing new ssh_known_hosts\.\.\.)?\
^Looking for sendmail aliases to generate\
(^No users in passwd file that have no \(valid\) entry in aliases\.forward)?\
(^()\
^Updating the serial number in .*\.Zone )*\
(^Updating hosts file)?)+
noise
레시피를 작성할 때 테스트 메시지 파일과 테스트 procmail 파일을 사용하는 것을 권장합니다. 레시피에서 메시지를 테스트 파일에 저장한 다음 procmail
수동으로 실행하도록 합니다. 로그 출력을 확인하여 모든 조건이 일치하는지 확인하세요. 몸에 맞는 부분은 한줄씩 써보세요.