cron 작업에서 기본 메일 수신자를 변경할 수 있습니까?


12

나는 cronjob에서 출력이 있으면 작업이 속한 사용자에게 메일로 발송된다고 생각합니다. MAILTO=vivek@nixcraft.incron 파일 상단에 출력을 보낼 위치를 변경하는 것과 같은 것을 추가 할 수도 있다고 생각합니다 .

cron 작업이 시스템 전체 root 를 실행하는 사용자 대신 이메일로 전송되도록 옵션을 설정할 수 있습니까 ? (즉, 각 사용자의 cron 파일에서 이것을 설정할 필요가 없도록)

답변:


9

/etc/crontab파일을 확인 하고 MAILTO=root거기에 설정 하십시오 . /etc/rc파일에 필요할 수도 있습니다

crondMAILTO 변수를 허용하는 것 같습니다. 완전히 확실하지는 않지만 시작하기 전에 crond에 대한 환경 변수를 변경해 볼 가치가 있습니다. 이전 파일을 제공하는 스크립트 /etc/sysconfig/crond또는 /etc/rc.d/init.d/crond스크립트 와 같습니다 .

예:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL

매우 감사합니다! +1. 아마도 답변의 맨 아래 부분을 사전 형식 / 코드 형식으로 넣었습니까?
cwd

7

MAILTO=root습니다 /etc/default/cron. 이 파일에는 cron의 기본 설정이 포함되어 있습니다.

man 5 crontab 말한다

MAILTO가 정의되고 비어 있지 않은 경우 이름이 지정된 사용자에게 메일이 전송됩니다.

참조 : http://man.cx/cron(1)#heading4


어디? 각 사용자의 crontab 파일마다
Nikhil Mulley

@ Nikhil 업데이트 된 답변을 확인하십시오.
Sachin Divekar

1
crontab이있는 사용자 만 사용할 수 있습니다. 이 변수가 설정되지 않은 사용자가 있으면 작동합니까? @Cwd는 모든 사용자를위한 전역 설정을 특별히 요구했다고 생각합니다.
Nikhil Mulley

@SachinDivekar -1 Nikhil이 맞습니다. 또한 내 질문을 편집하고 그 의미를 변경했습니다. 편집 된 의미는 귀하의 답변과 일치하지만 이것은 내가 요구 한 것이 아닙니다.
cwd

2
이것은 나를 위해 작동하지 않습니다. 기본 파일에서 MAILTO를 설정하고 cron 서비스를 다시 시작했지만 여전히 루트로 전송 중입니다 (외부 전자 메일 주소로 전송하려고 함)
peedee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.