2011-03-08 6 views
3

나는 매월 실행해야하는 Yii 명령을 만들었습니다. 내 보호 된 폴더로 이동하고 수동으로 명령을 실행하면 :Yii 및 cron 작업

protected/yiic ganadores

그것은 잘 작동합니다.

/usr/bin/php5 /var/www/path/to/project/protected/yiic ganadores (등/cron.hourly/ganadores)

0 0 1 * * root /usr/bin/php5 /var/www/path/to/project/protected/yiic ganadores (등/crontab을)

나는를 실행하는 경우 : 내가 성공하지 etc/cron.hourlyetc/crontab에 다음 명령 줄을 추가하기 위해 노력했다 파일 ganadoresetc/cron.hourly 안에 수동으로 설치하면 작동합니다.

무엇이 여기에 있습니까?

편집 : 마지막으로 해결되었습니다. 나는 cron 라인에 약간의 여유 공간이 있었다. 중고 탭 대신 공백을 그리고 내가 (루트 crontab 파일에서) 내 YII 크론 작업을 실행하는 방법을

+0

어떤 일이 발생했는지 조금 더 말할 수 있습니까? cron을 실행해야 할 때 syslog에서 무엇이 보이나요? 어떤 OS를 사용하고 있습니까? – vulcan

답변

6

이가 .. 일을 시작 :

45 23 * * * sudo -u www-data php /path/to/yii/app/protected/console.php mycommand 

기본적으로 그냥 평범한 crontab을 구문,하지만 난 콘솔을 실행하고 있습니다. php를 yiic 대신 사용하고 사용자에게 Apache (www-data)를 설정하여 사용 권한이 스크립트에 맞도록 설정합니다. 네가 왜 작동하지 않는지 잘 모르겠지만 잘하면 너를 도울 것입니다. :)

+0

둘 다 시도해 보았습니다. 사용자를 Apache로 변경하고 yiic 대신 console.php를 실행하십시오. 아직 아무것도 : ( –

+0

yiic이 실행 가능한지 확인하십시오. [sudo chmod + x yiic] –

+1

Linux CENTOS 5.5를 사용하는 경우 마지막 cron 작업 후 빈 줄을 추가해야합니다! – HPM