이메일 대신 로그에 모든 크론드 오류 캡처

이메일 대신 로그에 모든 크론드 오류 캡처

RHEL 7.9를 사용하고 있습니다. 내 crontab에는 다음과 같은 변수와 명령이 있습니다.

MAILTO=""
SHELL="/usr/bion/ksh"

30 * * * * find /home/me/data/input -name "*.completed" -size +10M -print >> /home/me/jobs/completed.big 2>/home/me/jobs/completed.big.errors

모든 사람이 SHELL var에서 추가 항목을 감지하므로 o귀하(그리고 나)는 모든 작업이 조용히 실패하는 것을 볼 수 있습니다.
/var/log/cron파일은 실행될 것으로 예상되는 모든 명령줄로 채워집니다.
journalctl -xe -t crond명령은 내 개인 크론을 다시 로드하고 작업을 건너뛰는 것에 대해서만 언급합니다.

Jan 30 01:21:05 servername crond[26104]: (root) INFO (Job execution of per-minute job scheduled for 01:20 delayed into subsequent minute 01:21. Skipping job run.)
[...]
Feb 05 16:02:01 servername crond[3997]: (me) RELOAD (/var/spool/cron/me)

내 작업에 로그가 없는 것을 확인하고 MAILTO 변수를 삭제한 후 내 계정의 로컬 사서함에 다음과 같은 메시지를 받았습니다.

[... Stripping mail headers]

execl: couldn't exec `/usr/bion/ksh'
execl: No such file or directory

이 오류는 명령이 실제로 시작되기 전에 발생하므로 작업 로그에 표시되지 않습니다.

이러한 오류를 제거하거나 최소한 CRON이 명령을 시작할 수 없는 오류를 로그에 캡처할 수 있는 방법이 있습니까? 여기에는 충분한 이메일이 있고 로그가 모니터링됩니다.

내가 읽고크론 오류는 어디에 기록되나요?질문이 있지만 명확한 답변을 원합니다."할 수 있는크론드이메일이 아닌 다른 곳에서 오류를 발견하셨나요?".이것은 crond의 숨겨진 구성일 수도 있고 다른 것일 수도 있습니다. 모르겠습니다.

결국에는 사서함을 속여 로그로 리디렉션한 다음 정리하는 것을 고려할 수도 있습니다.

답변1

~에 따르면이 참조, cron 데몬에는 다음과 같은 옵션이 있습니다:

-s -m off

매뉴얼 페이지다음 매개변수를 참조하십시오.

  • -s출력을 시스템 로그(보통 /var/log/cron과 같은 형식)로 보냅니다.
  • -m off이메일 전송 비활성화

시스템 전체에서 수행되었지만 내 요구 사항에 적합합니다.

  • 엔터프라이즈 루트 작업은 조용합니다(인벤토리, 패치).
  • 내 것도 길지 않아.
  • 기계는 전용입니다

관련 정보