Cron 실행시 root 에게 메일 보내지 않도록 설정


1. crontab 에 등록된 동작 실행시 root에게 메일 보내지 않도록 설정

/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=””
HOME=/

위와 같이 설정하면 발생하는 모든 CRON은 메일로 보내지지 않게 됩니다.

2. crontab 에 등록된 일부 동작에만 root에게 메일 보내지 않도록 설정

아래와 같이 설정하면 일부만 메일로 보내지지 않도록 설정할 수 있습니다.

/etc/crontab
00 05 * * * /root/bin/sync.sh > /dev/null 2>&1

설정후 크론데몬 재시작
service crond restart

Sendmail 다른 메일서버로 Relay 걸기


Sendmail로 메일을 보낼 때 25번 포트가 오픈이 안되거나, 제한적인 경우 내부에 있는 다른 메일서버로 Relay를 걸어 발송할 수 있습니다.

[설정방법]
/etc/mail/sendmail.cf


# “Smart” relay host (may be null)
DS [mail.domain.co.kr]


RELAY 메일 서버의 주소를 위와 같은 위치에 적어줌으로써 문제가 해결됩니다.
작업을 마친 후 Sendmail 을 재시작하면 Relay를 적용할 수 있습니다.

만약 해당 메일서버에서 인증된 사용자만 메일을 발송하도록 제한을 걸었두었다면 아래의 작업도 추가해주어야 정상적으로 메일을 발송할 수 있습니다.


/etc/php.ini
; For Unix only.  You may supply arguments as well (default: “sendmail -t -i”).
sendmail_path = /usr/sbin/sendmail -t -i -fusermail@domain.ac.kr


위와 같이 php.ini에 설정을 한후 httpd를 재시작하면 문제는 해결됩니다.