【问题标题】:Cronjobs not executing php scripts, no mailto warnings received!Cronjobs 不执行 php 脚本,没有收到 mailto 警告!
【发布时间】:2011-06-18 21:15:23
【问题描述】:

这是我的情况:

我正在尝试通过 cron 运行一个 php 脚本,并且我有一个如下所示的 crontab (/etc/crontab):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/var/www:
MAILTO=<myemailaddress>

m h dom mon dow user  command

*  *    * * *   root    /usr/bin/php /var/www/testing.php

当我从 bash/sh 运行命令 /usr/bin/php /var/www/testing.php 时,一切都很好。它只是一个基本的 php 脚本,将一些乱码写入文件。但是,我的 cronjob 没有执行。我已经多次使用 sudo service cron restart 但都无济于事。我在这里遗漏了什么明显的东西吗?

谢谢,干杯!

解决方案

我自己的错!我正在运行的 php 脚本正在写入一个未正确访问的文件 - 例如,缺少完整的文件路径。感谢大家的帮助!

【问题讨论】:

  • 您在 cronjob 文件中的规则后面是否有一个空行?
  • 我的实际 cron 表以 '#' 开始和结束,其中结束的井号在我的代码 sn-p 之后的单独一行上。那是EOF。
  • edit:: 猜猜最后一条评论消失了,至于操作系统,它只是 Ubuntu。这是主 crontab,而不是单个用户的——也就是说,它位于 /etc/crontab 中。特定于用户的 crontab 没有用户列。
  • 是的——我刚刚做了* * * * * root echo hi &gt;&gt; /tmpnonsense,它奏效了。每分钟它都会附加你好。
  • 您能以对他人有所帮助的方式回答您自己的问题吗?如果你这样做,你可以选择你的作为正确答案。这可能看起来很奇怪,但它是处理此类情况的首选方式。

标签: php cron crontab


【解决方案1】:

创建一个 shell 脚本并将 PHP 命令放入其中。使其可执行并放入 crontab 中。

然后您可以更好地跟踪和更改命令以及更轻松地为 php 脚本设置环境(变量、路径)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2015-12-23
    • 2014-05-22
    • 1970-01-01
    • 2012-10-12
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多