【问题标题】:Cron not running scripts on Ubuntu serverCron 没有在 Ubuntu 服务器上运行脚本
【发布时间】:2016-11-28 18:49:24
【问题描述】:

我有一组脚本 (PHP Symfony2) 应该通过 cron 执行,但有些没有正确执行。

调用示例:

* * * * * php /var/www/admin/app/console notification:send --env=prod

我看到使用grep CRON /var/log/syslog 执行每个脚本 但是当使用>>/var/log/cron*.log 检查输出时,我没有看到任何输出或错误。

如果我手动运行脚本,一切正常。 服务器在 Ubuntu (Digital Ocean) 下 有任何想法吗 ?谢谢

【问题讨论】:

标签: ubuntu cron


【解决方案1】:

好的解决了。我必须使用 php5 -f ...

【讨论】:

    【解决方案2】:

    当您直接在 bash 中运行命令时,它会给出输出/错误吗?

    当你说你使用 >>/var/log/cron*.log 时,你的意思是你把它放在你的 cron 行的末尾吗?文件中绝对没有输出?

    试试这样的一行,这样你也会在日志文件中得到错误输出:

    * * * * * php /var/www/admin/app/console notification:send --env=prod >> /var/log/cron*.log 2>&1
    

    或者,在运行时尝试此操作以获取任何输出/错误的电子邮件:

    MAILTO=youremail@example.com
    * * * * * php /var/www/admin/app/console notification:send --env=prod
    

    存在一些边缘问题,即由 cron 运行与由用户运行时工作方式不同,因此将结果与手动运行进行比较,将调试/详细输出语句添加到脚本中,如果发现它停止运行,请考虑权限和环境问题一个特定的行。

    【讨论】:

    • 直接在bash中,没有错误。我什至在我的脚本中设置了一个代码来将执行记录到数据库中。仅当我手动运行命令而不是通过 cron 运行命令时才保存执行(即使是有效工作的命令)...
    • 使用 >>/var/log/cron.log 记录时出现:PDOException,找不到驱动程序
    • 优秀的@Yohann,很高兴听到这个消息!如果可以,请将其创建为答案,然后进行标记;会帮助别人。
    猜你喜欢
    • 2015-02-19
    • 2016-10-03
    • 1970-01-01
    • 2012-02-26
    • 2017-09-01
    • 2021-11-07
    • 2010-12-20
    • 2017-04-27
    相关资源
    最近更新 更多