cron이 이메일을 보내는 빈도를 필터링할 수 있나요?

cron이 이메일을 보내는 빈도를 필터링할 수 있나요?

여러 개의 cron 작업이 있는데 그 중 하나는 1분마다 실행됩니다. 특정 cron 작업에 오류가 발생하여 2시간 동안 웹사이트를 종료해야 했고, 그 2시간 동안 웹사이트 업그레이드가 완료될 때까지 거의 120통의 이메일을 받았습니다.

이제 제가 자고 있는데 무슨 일이 일어났다고 가정해 보겠습니다. cron 작업이 1분마다 실행되고 실패하기 때문에 수백, 수천 개의 이메일을 원하지 않습니다. 이메일을 보내는 빈도를 제한하고 1분에 한 번씩 실행되도록 할 수 있는 방법이 있나요?

추신: 우리는 smtp 서버가 없고 제3자를 사용하므로 스팸으로 표시되거나 비활성화된 것이 없다는 점이 기쁩니다.

답변1

cronjob/모니터링 서비스가 중단/예약된 유지 관리를 인식하도록 보장하는 몇 가지 메커니즘이 있어야 합니다. 최근 Nagios, Zabbix와 같은 많은 프로그램은 예약된 유지 관리를 수행하고 인터페이스를 통해 Nagios에 이를 알리는 솔루션을 제공합니다. 이 기간 동안 Nagios는 서비스 모니터링을 시도하지 않습니다.

또는 더 간단하게는 단일 단순 서비스 모니터링 서비스를 위해 무거운 Nagios를 사용하는 것을 부풀리지 말고, cronjob 스크립트에 일부 파일 잠금 메커니즘에 대해 알리고, 파일 잠금이 있는 경우 서비스 상태를 무시하고 짜증나거나 짜증나게 하지 마십시오. 출력을 외치세요. cronjob 스크립트가 시스템 모니터링을 재개할 수 있도록 예약된 유지 관리 후에 파일 잠금이 제거되었는지 확인하는 것은 관리자의 책임입니다.

답변2

기본적으로 cron은 cron 작업에 의해 생성된 모든 출력을 stdout 또는 stderr로 이메일로 보냅니다.

개인적으로 저는 모든 출력을 로그 파일로 리디렉션하고 파일 이름의 일부로 실행 날짜 스탬프를 포함합니다.

알림을 받지 않으려면 동일한 작업을 수행하고 다른 크론 작업을 사용하여 N시간마다 메일을 보내세요.

관련 정보