【问题标题】:Jelastic Cron job to call PHP scriptJelastic Cron 作业调用 PHP 脚本
【发布时间】:2014-04-30 07:04:12
【问题描述】:

我正在尝试通过 Jelastic 服务器上的 cron 作业运行 PHP 脚本。我的 cron/apache 文件如下所示。

*/1 * * * * /usr/bin/php /var/www/webroot/ROOT/php/cron.php

(最后一个cronjob条目后有一个空行)

但是,cron 作业不会调用该脚本。我已阅读有关 cron 作业 (http://docs.jelastic.com/cron-job) 的 Jelastic 文档,但这并没有帮助我解决问题。

任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试过直接从命令提示符运行/usr/bin/php /var/www/webroot/ROOT/php/cron.php?如果有错误,那么它应该显示出来。
  • 不幸的是,我无法访问此服务器上的命令提示符,因此无法尝试手动运行该命令。我知道脚本可以正常工作,因为我通过 http 启动了它,并且一切都按预期工作。

标签: php cron jelastic


【解决方案1】:

正如您所说,该脚本可通过 HTTP 访问,您可以尝试使用此 cron 作业:

*/1 * * * * wget -q http://www.example.com/cron.php

这将在对 cron.php 文件的 GET 请求中执行并忽略输出。

【讨论】:

  • 这已经成功了。非常感谢你们的帮助。
【解决方案2】:

可以在 Layershift Jelastic PaaS 上获得 SSH 访问权限:http://kb.layershift.com/jelastic-ssh-access

假设您使用不同的提供程序,您可能会尝试将 cron 输出写入日志文件,如

*/1 * * * * /usr/bin/php /var/www/webroot/ROOT/php/cron.php >> /var/log/httpd/cron.log

并且/或者您可以尝试将输出邮寄给自己(但请注意邮寄警告;如果没有公共 IP,您的邮件将改为“源自”物理服务器的 IP,并且可能有也可能没有定义有效的 PTR 记录或列入黑名单等 - 所以基本上你的垃圾邮件过滤器很有可能会拒绝电子邮件);只需将此行添加到您的 crontab:

MAILTO=you@youremail.com

【讨论】:

    最近更新 更多