cronjob 출력을 제한하는 프로그램/스크립트

cronjob 출력을 제한하는 프로그램/스크립트

짧은 버전: 빈번한 크론 작업이 실패할 때 반복적으로 핑을 보내는 것을 방지하기 위한 미리 만들어진 절차가 있습니까? 맞춤 구현이 있는데 누군가 이미 처리한 것 같습니다.

내 홈 서버에는 ISP 서버에서 메일을 가져와 로컬에 저장하는 스크립트가 있습니다. Comcast는 정기적으로 한 시간 정도 다운되며 cron으로부터 fetchmail 실패를 보고하는 수십 개의 메시지(2분에 한 번씩)를 받습니다. cron 작업의 출력(성공 시 비어 있음)을 읽고 항상 로그 파일에 넣도록 스크립트를 설정했지만 stdout에만 넣습니다. 따라서 최소 20분이 지났다면 내 이메일에 넣습니다. 마지막 오류가 발생한 이후입니다.

나는 이 문제를 겪고 있는 유일한 시스템 관리자가 될 수 없습니다. 즉, 작업이 자주 실행되며 지속적인 오류 흐름보다는 작업이 실패할 때 주기적으로 업데이트하고 싶습니다. 제가 놓친 즉시 사용 가능한 솔루션이 있나요?

스크립트는 다음과 같습니다. 보시다시피 매우 기본적입니다. 예를 들어 오류가 언제 중지되는지 표시되지 않습니다.

#!/bin/bash
logpath=/var/log/$1.log
minutes=$2
latestlogpath=${logpath}.latest

cat >> "${latestlogpath}"
([ ! -e "${logpath}" ] || [[ $(date +%s -r "${logpath}") -lt $(date +%s --date="${minutes} min ago") ]] ) && {
  cat "${latestlogpath}"
  cat "${latestlogpath}" >> "${logpath}"
  rm "${latestlogpath}"
}

관련 정보