PHP crontab을 자동으로 만드는 방법

PHP crontab을 자동으로 만드는 방법

매 분마다 실행되도록 Cpanel에 crontab을 설정했습니다. 훌륭하게 작동하지만 매 순간 이메일을 받고 싶지는 않습니다. 매일 실행되는 두 번째 크론 탭이 있습니다. 이 탭의 응답을 받고 싶습니다. crontab에 자동으로 표시하거나 오류가 발생한 경우에만 이메일을 보내도록 지시하는 방법이 있습니까?

나는 가지고있다:

    *    *  *   *   * php /home/public_html/folder/file.php 2>&1

내가 추가 한 마지막 부분은 2>&1그것이 조용해질 것이라고 생각했기 때문입니다.

Cpanel 문서에서:

cron이 명령을 실행할 때마다 이메일을 보내도록 할 수 있습니다. 개별 cron 작업에 대해 이메일을 보내지 않으려면 다음과 같이 명령의 출력을 /dev/null로 리디렉션할 수 있습니다: mycommand >/dev/null 2>&1

답변1

" 조용함 -q"을 의미하므로 출력을 생성하지 않습니다.

*    *  *   *   * php -q /home/public_html/folder/file.php

또한 매분마다 실행하려는 이유가 무엇인지 스스로에게 물어보십시오. 이는 약간 과도합니다.

답변2

2>&1stderr에 기록된 모든 것을 stdout으로 리디렉션합니다.

>/dev/nullstdout을 /dev/null로 리디렉션합니다.

cron은 다른 곳으로 리디렉션되지 않는 한 stdout 또는 stderr로 전송된 모든 내용을 항상 이메일로 보냅니다. 이상적으로는 PHP 스크립트를 다시 작성하여 stdout에 쓸모없는 쓰레기 전체를 ​​쓰지 않는 --quiet 플래그를 허용하도록 다시 작성해야 하며, 이를 cron 작업에서 사용할 수 있습니다.

게으른 사람의 선택은래퍼 스크립트명령이 0이 아닌 값으로 종료되지 않는 한 크론 작업을 통해 이메일을 보내지 못하게 됩니다.

답변3

올바른 설정은 다음과 같습니다.

>/dev/null

이렇게 하면 표준 출력이 무시되고 오류가 있는 경우에만 이메일을 받게 됩니다.

현재 설정은 표준 출력을 처리하지 않으므로 실행될 때마다 이메일을 받게 됩니다.

관련 정보