cron이 이메일을 보내지 않도록 중지


10

cron에서 예약 한 작업 결과를 이메일로 보내지 못하게하려면 어떻게해야합니까?

답변:


15

환경 변수 "MAILTO"를 ""로 설정

Somethig 같은 :

SHELL=/bin/bash
MAILTO=



01 * * * *  /your/path/to/script/here.sh

12

단일 작업으로 전자 메일을 중지하려면> / dev / null 2> & 1을 추가하십시오.

예를 들면 다음과 같습니다.

0 * * * * /home/script >/dev/null 2>&1

1
다음에 시작하기 전에 한 번의 실행이 완료 될 것으로 확신하는 경우 / dev / null이 아닌 명명 된 파일로 출력을 리디렉션 할 가치가 있습니다. 문제.
mas

4

on stdout또는 에 출력이있는 경우 Cron에서만 이메일을 보냅니다 stderr.

불필요한 제거 - 그것의 스크립트가 당신이 작성한 경우는 덜 장황하게 echo또는 print문을. 로 리디렉션 stdout하는 /dev/null것도 유효한 솔루션입니다.

2 * * * * /my/script > /dev/null

당신은 여전히 그 일을 한 후 메시지를받을 경우, 출력이 켜져 stderr따라서는, 해야한다 , 당신은 리디렉션 할 수없는 경우 .. 해결해야 오류, 수 stderr/dev/null와 ..

2 * * * * /my/script > /dev/null 2> /dev/null

.. 오류 메시지를 무시하는 것은 일반적으로 나쁜 생각입니다! (크론 작업이 언제 중단되는지 어떻게 알 수 있습니까?)

다음을 사용하여 특정 명령의 출력을 stderr에서 stdout으로 리디렉션 할 수 있습니다 2>&1.

command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout

.. 그러면 cron 작업으로 직접 연결 -오류 메시지를 잃지 않고 큰 소리로 명령 stdout/dev/null내 립니다.

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