Cron은 기본 메일 바이너리를 어디에서 찾나요?

Cron은 기본 메일 바이너리를 어디에서 찾나요?

사용자/그룹에 따라 Chroot 환경 내에서 실행되도록 Cron 작업을 설정했습니다.

나는 chroot 환경 내에서 실행되는 이러한 cron 작업이 메일을 보내지 못하는 것을 발견했습니다.

로그 파일에서는 메일을 보낼 프로그램을 찾을 수 없다고 보고합니다.

Cron 프로세스는 기본 메일 바이너리를 어디에서 찾나요? 이 경로를 설정하거나 구성할 수 있습니까?

참고로 MAILTO= 변수가 설정되지 않은 경우 Cron은 메일을 어디로 보낼지 어떻게 알 수 있나요? 로컬 호스트에서 작업을 실행하는 사용자에게 메일을 보내는 것인가요?

감사해요!

답변1

Cron 프로세스는 기본 메일 바이너리를 어디에서 찾나요?

별도로 지정하지 않는 한 경로(/bin:/usr/bin)에서 찾은 메일 프로그램만 사용한다고 확신합니다. -m일부 cron 버전에서는 명령줄 인수를 지정할 수 있습니다.

-m 이 옵션을 사용하면 sendmail(8) 대신 cron 메일 출력을 보내는 데 사용할 쉘 명령 문자열을 지정할 수 있습니다. 이 명령은 stdin에서 완전히 형식화된 메일 메시지(헤더 포함)를 수락하고 메일 헤더에 지정된 수신자에게 메일 메시지로 보내야 합니다.

위의 내용은 CentOS/RHEL에서 작동하지만 Ubuntu는 다르게 보입니다.

이 경로를 설정하거나 구성할 수 있습니까?

위 참조.

MAILTO= 변수가 설정되지 않은 경우...

MAILTO가 설정되지 않은 경우 작업을 실행 중인 로컬 사용자에게 메일이 배달된 것으로 의심됩니다.

CentOS/RHEL에서는 /etc/sysconfig/crond에 추가 명령줄 인수를 지정할 수 있으므로 init 스크립트를 편집할 필요가 없습니다. 다른 OS/배포판도 비슷한 기능을 제공할 수 있습니다.

관련 정보