【问题标题】:scheduled php file not executing at given interval, ubuntu 12.04 64 bit计划的 php 文件未按给定的时间间隔执行,ubuntu 12.04 64 位
【发布时间】:2014-02-07 16:33:52
【问题描述】:

我的网站有几个后台作业编写为 yii 控制台应用程序(又名:命令)。我已经使用以下语法安排了命令。

案例 1:

php /var/www/test/console.php NewsLetter 10 | sed -e "s/^/$(date -R) /" >> /home/user4/logs/newsletter_$(date +\%Y\%m\%d).log

如果我从 ubuntu 终端运行它,它会创建类似 newsletter_2014-02-06.log 的日志文件,并在日志文件中每一行的开头插入时间戳。

当它从 crontab 运行时,它不处理命令,我在 /home/user4/logs/ 位置看不到任何东西。

案例 2:

如果我在没有 shell 命令的情况下配置作业,如下所示,

php /var/www/test/console.php NewsLetter 10>> /home/user4/logs/newsletter.log

它运行良好,我可以在 newsletter.log 文件中看到每次从 crontab 运行的日志。

预期:我希望将 cron 作业的输出存储在带有日期附加 (log_2014-02-06.log) 的文件中。日志中的每一行都插入了时间戳。

【问题讨论】:

  • 请问这个 crontab 条目php /var/www/test/console.php NewsLetter 10 | sed -e "s/^/$(date -R) /" > /home/user4/logs/newsletter_$(date +\%Y\%m\%d).log 2>&1
  • @HüseyinBABAL 不走运

标签: php ubuntu yii crontab


【解决方案1】:

您是否为这些操作创建了CConsoleCommand 类?那么最好使用yiic 命令。 PHP 命令也可能不在您的 cronjob 路径中。在这种情况下,您必须输入 PHP 命令的完整路径。我的 cronjobs 看起来像这样(DirectAdmin 系统):

/usr/local/bin/php /path/to/yii/folder/protected/yiic actionToRun

有关创建CConsoleCommand 类的更多信息,您可以查看this acticle on YiiFramework.com

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多