작업이 5분 이상 소요되는 경우 sSMTP는 Cron 이메일을 보내지 않습니다.

작업이 5분 이상 소요되는 경우 sSMTP는 Cron 이메일을 보내지 않습니다.

두 대의 서버가 있습니다. 하나는 Ubuntu를 실행하고 다른 하나는 Amazon Linux 2를 실행합니다. 두 서버 모두 서로 다른 클라이언트에 대해 일련의 크론 작업을 실행합니다.

Ubuntu 서버는 각 크론 작업의 출력이 포함된 이메일을 그룹 이메일 주소로 보냅니다. 출력 리디렉션 없음: 항목당 하나의 명령만 실행합니다.

0 2 * * * /apps/ourapp/sync_data -c variable1 -s all -i CLIENT1

...다른 시간에 다른 값으로 반복합니다 -i. 예정된 시작 시간은 항상 다음 형식을 취합니다. 헤헤:00,헤헤:15또는 헤헤:45.

효과는 만족스러웠습니다. 사람들이 이메일을 받았습니다.

Amazon Linux 시스템에서는 그렇지 않습니다. 메일 로그에는 다음 항목이 있습니다(약간 편집됨).

Feb 28 07:05:04 ip-XXXX sSMTP[32212]: Connection lost in middle of processing
Feb 28 08:05:04 ip-XXXX sSMTP[32382]: killed: timeout on stdin while reading body -- message saved to dead.letter.
Feb 28 08:05:04 ip-XXXX sSMTP[32382]: Timeout on stdin while reading body
Feb 28 21:50:04 ip-XXXX sSMTP[2261]: killed: timeout on stdin while reading body -- message saved to dead.letter.
Feb 28 21:50:04 ip-XXXX sSMTP[2261]: Timeout on stdin while reading body
Feb 28 22:05:04 ip-XXXX sSMTP[2505]: killed: timeout on stdin while reading body -- message saved to dead.letter.
Feb 28 22:05:04 ip-XXXX sSMTP[2505]: Timeout on stdin while reading body
Feb 28 22:20:05 ip-XXXX sSMTP[2845]: killed: timeout on stdin while reading body -- message saved to dead.letter.
Feb 28 22:20:05 ip-XXXX sSMTP[2845]: Timeout on stdin while reading body

타임스탬프의 분 부분이 5분, 15분 또는 45분 표시를 지난 것을 알 수 있습니다. 해당 크론 작업은 다음과 같습니다.아니요이메일을 보내.

dead.letter항상 비어 있습니다. 이는 작업이 끝나기 전에 로그가 전송되지 않으면 의미가 있습니다(제가 추론한 대로).

내가 읽은 내용 sSMTP에 따르면 구성 옵션을 사용하여 시간 초과를 무시할 수는 없습니다 stdin(해당 정보는 오래되었을 수 있음).

그래서 내가 무엇을 할 수 있니? sSMTP다른 이메일 메커니즘 대신 이를 사용하고 있기 때문인가요 ?

답변1

sSMTP 사용을 고집한다면 할 수 있는 일이 많지 않습니다. 짐작할 수 있듯이 이는 구성할 수 없습니다. 제한 시간은 5분입니다.프로그램 코드에 내장됨. 작업이 5분 이상 소요된다면 다른 메일 제출 시스템이 필요합니다.

관련 정보