【问题标题】:Yii and cron jobsYii 和 cron 工作
【发布时间】:2012-12-24 08:27:41
【问题描述】:

我创建了一个需要每个月运行的 Yii 命令。如果我转到受保护的文件夹并手动运行命令:

protected/yiic ganadores

它工作正常。我尝试将以下命令行添加到etc/cron.hourlyetc/crontab,但没有成功:

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

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

如果我在etc/cron.hourly 中手动运行文件ganadores,它也可以工作。

我在这里错过了什么?

编辑:终于解决了。我在 cron 行中有一些额外的空格。使用制表符代替空格,它开始工作..

【问题讨论】:

  • 你能多说一下发生了什么吗?在 cron 应该运行时,您在 syslog 中看到任何内容吗?你在什么操作系统上?

标签: php yii cron crontab


【解决方案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),因此权限对于我的脚本是正确的。我不确定为什么你的不工作,但希望看看我的会帮助你。 :)

【讨论】:

  • 两者都试过了,将用户更改为 Apache 并运行 console.php 而不是 yiic。还是什么都没有:(
  • 检查 yiic 是否可执行 [ sudo chmod +x yiic ]
  • 如果你使用Linux CENTOS 5.5,你应该在最后一个cron作业之后添加一个空行!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多