문제
나는 지금 10 분마다 실행되는 cronjobs를 만들고 싶다.
다음 txt와 함께 이메일을 보내주세요.
"주문 삭제"
내 코드는 다음과 같습니다.
MAILTO=”my_email@mail.com”
*/10 * * * * /var/www/php-sites/dlf/cron_jobs.php
나는 지난 30 분 동안 내 메일을 확인했지만 여전히 우편물을받지 못했습니다. 내가 잘못하고 있는가?
해결책
우선, PHP 스크립트를 이런 식으로 실행해야합니다 (우분투 경로의 예, 다른 배포판에 대해서는 확실하지 않음).
/usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php
또한 작업 출력을 파일에 저장하여 실패의 정확한 이유를 확인할 수 있습니다. 작업을 위해 다음과 같이 보일 수 있습니다.
*/10 * * * * /usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php > /tmp/cron.out 2>&1
Cron.out 내용을 확인하십시오.
도움이 되었기를 바랍니다.
편집하다
나는 작은 시험을했고 평범한 쉘 방식도 효과가있는 것 같습니다. 스크립트를 만들었습니다 phptest.sh 내용물이있는 (+x) :
#!/usr/bin/php-cgi
echo "It works this way!";
그리고 한 가지를 제외하고는 효과가있는 것 같습니다. 다음과 같이 Stdout에 헤더를 던졌습니다.
***@***:~$ ./phptest.sh
X-Powered-By: PHP/5.2.10-2ubuntu6.3
Content-type: text/html
echo "It works this way!";
그러나 나는 그들이 문제라면 어떻게 든 그들을 제거 할 수 있다고 생각합니다.
이것의 유일한 장점은 더 짧은 경로입니다 :)
제휴하지 않습니다 StackOverflow