단일 crontab 항목에 대해 MAILTO를 재정의


20

우리는 꽤 큰 크론 탭을 가진 역할 계정을 가지고 있습니다. MAILTO는 공유 주소를 가리 키므로 무언가 실패하면 많은 사람들이 알려줍니다.

이 crontab에 항목을 추가하고 싶지만 문제가 발생했을 때만 알림을 받고 싶습니다. 이 항목에 대해 MAILTO를 변경하거나 다른 방법으로 목표를 달성 할 수있는 방법이 있습니까?


지금까지 제안 된 사람들에 대한 또 다른 접근법은 cron이 작업을 실행하는 사용자에게 전자 메일을 보내는 기능을 사용 하여이 작업에 대해서만 다른 사용자를 만들고 전자 메일을 사용자에게 전달하는 것입니다.
Hayden Thring

답변:


21

당신은 항상 할 수 있습니다 :

MAILTO=you
* * * ...  your cron job
MAILTO=normal.destination

1
이것을지지 한 사람들이 실제로 그것을 테스트 했습니까? 그렇다면 어떤 cron 구현입니까?
user1338062

Ubuntu 14.04 ( "3.0pl1-124ubuntu2")와 함께 제공되는 ICS / Vixie cron으로 테스트했으며 제대로 작동합니다.
닐스 토트 만

추악하지만, 이것을 분류하는 유일한 방법입니다. 공장!
Stamster

10

서브 쉘에서 올바른 주소를 사용하여 모든 출력을 mail 명령으로 항상 파이프 할 수 있습니다. STDOUT에 아무것도 없거나 STDERR cron이 이메일을 보내지 않습니다

10 * * * * sh -c 'thisonecommand 2> & 1 | mail otheraddress@foo.com '


1
"mail"명령은 출력 여부에 관계없이 작동하지 않습니다. 따라서 성공에 대한 빈 메시지가 표시되는 반면 성공에 대한 메시지는 없습니다.
mike

5
좋은! (.. 일부 또는 -E) -e : 그리고, 메일 명령 빈 이메일을 피하기이 매개 변수를 사용하는

3

cron이 파일을 환경 변수에서 읽을 수 있도록 준비하는지 여부를 기억할 수 없으므로 MAILTO단일 파일에서 여러 번 변경할 수 있는지 확실하지 않습니다 . 하지만 당신은 항상 다른 파일에 분할에 넣을 수 있습니다 /etc/cron.d/fooA를 MAILTO=some@email.tld.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.