2014-05-18 2 views
2

나는 perticulor 상태가 실패 할 때 전자 우편을 보내는 cronjob를 실행할 필요가있다. Cronjob 매일 실행해야합니다. 그리고 로컬 컴퓨터에서 cronjob을 테스트하는 방법 (우분투 12.04를 사용하고 있습니다).조건이 실패하는 동안 전자 메일을 보내도록 cronjob을 설정하는 방법은 무엇입니까? 어떻게 우분투 시스템에서 테스트 할 수 있습니까?

나는 이미 PHP 용 sendmail을 설정했다. 메일은 magento에서 나옵니다.

미리 감사드립니다.

답변

0

먼저, 우분투의 명령 줄에서 PHP를 실행하려면 다음 오류가 발생하면 스크립트가 중지하려면

sudo apt-get install php5-cli 

PHP에서 예외를 처리하는 방법은

try { 
} catch (Exception $e) { 
    mail('[email protected]', 'Error subject of thing failed', "Body of thing failed\n".print_r($e,1)); 
} 

입니다 , 그냥 die()를 넣거나 mail() 호출 후에 종료하십시오.

하지만 무엇이 실패했는지, 어디에 있는지 알지 못하기 때문에 질문에 대한 자세한 설명이 조금 있습니다. PHP 코드가 OS/파일 시스템에서 X를 검사하는 것일 수 있습니다. 그런 다음 조건이 발견되면 mail()을 호출하면됩니다.

마찬가지로 지금까지 cron 작업 측이이 작업을 수행 할 필요가 간다 :

  1. 의 crontab -l> crontab.txt
  2. 선택의
  3. 사용 편집기
  4. 가에 줄을 추가 crontab.txt 엽니 다 crontab.txt의 아래쪽 (예 : 아래)
  5. crontab crontab.txt
  6. 그런 다음 crontab -l | 이 당신은 수동으로 실행하여 스크립트를 테스트 할 수 있습니다

    45 1 * * * /usr/bin/php /path/to/script/to/run.php 
    

    http://en.wikipedia.org/wiki/Cron#Examples

    오전 1:45 서버 시간에 매일 실행됩니다

만들기 위해 새로운 crontab을 사용 후기를 덜 확인이 올바른지 또는 가까운 미래에 1:45 am 대신에 cronjob을 시작하도록 설정하십시오.

+0

감사합니다. joefresco. 당신의 대답은 제게 많은 도움이되었습니다. –