Работа Yii и cron

Я создал команду Yii, которую нужно запускать каждый месяц. Если я зайду в свою защищенную папку и запущу команду вручную:

protected/yiic ganadores

Это работает нормально. Я безуспешно пытался добавить следующую командную строку к etc/cron.hourly и etc/crontab:

/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)

Если я запускаю файл ganadores внутри etc/cron.hourly вручную, он тоже работает.

Что мне здесь не хватает?

Редактировать: Наконец-то проблема решена. У меня были лишние пробелы в строке cron. Использовал вкладку вместо пробелов, и она начала работать.


person Manuel Pedrera    schedule 08.03.2011    source источник
comment
Не могли бы вы рассказать немного больше о том, что происходит? Видите ли вы что-нибудь в системном журнале в то время, когда должен запускаться cron? Вы на какой ОС?   -  person vulcan    schedule 10.03.2011


Ответы (1)


Вот как я запускаю свои задания Yii cron (в корневом файле crontab):

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

По сути, это обычный синтаксис crontab, но я запускаю console.php вместо yiic и устанавливаю для пользователя Apache (www-data), чтобы права доступа были правильными для моего скрипта. Я не уверен, почему у вас не работает, но, надеюсь, мой взгляд поможет вам. :)

person thaddeusmt    schedule 09.03.2011
comment
Пробовали с обоими, изменив пользователя на Apache и запустив console.php вместо yiic. Еще ничего :( - person Manuel Pedrera; 09.03.2011
comment
Проверить, является ли yiic исполняемым [ sudo chmod +x yiic ] - person briiC; 24.12.2012
comment
если вы используете Linux CENTOS 5.5, вы должны добавить пустую строку после последнего задания cron! - person hpaknia; 15.05.2013