【问题标题】:Cron job not executing on Amazon serverCron 作业未在 Amazon 服务器上执行
【发布时间】:2013-07-31 03:18:11
【问题描述】:

我的网站托管在亚马逊服务器上,我有一个向用户发送电子邮件的 PHP,我所做的是设置一个 cron 作业

3 * * * * php LINK to Abc.php

所以它会在 3 分钟后运行。但是我没有收到任何显示脚本未运行的邮件。

  • 我检查了显示 /var/syslog 的日志

CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && 查找 /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -删除)

在我的头上。 然后我尝试了这个命令来检查 cron 作业 crontab-l 仍然没有发生任何事情。 任何可以帮助我调试的人

EDIT1 它现在在日志文件中显示..

CRON) info (No MTA installed, discarding output)

如果我从终端执行 PHP Path to file.. 它运行良好,我也会收到一封电子邮件... 请在这方面提供帮助

【问题讨论】:

  • cron 作业或电子邮件问题?
  • @Dagon 这是 cron 工作,因为如果我在浏览器中运行脚本,它可以正常工作
  • 你在crontab文件中设置MAILTO=了吗?
  • @Dagon 所有脚本都存在于 php 文件中。为什么在 crontab 文件中使用 MAILTO? :)
  • 如果您添加 MAILTO 变量,那么任何错误都会通过电子邮件发送给您,否则您将看不到它

标签: php ubuntu amazon-web-services cron crontab


【解决方案1】:

试试3 * * * * /var/lib/php5 /path/to/Abc.php

【讨论】:

  • 哎呀,它实际上可能是 /usr/bin/php5。您可以运行“which php5”来查看它在您的计算机上的安装位置,但我相信这是默认设置。
  • 是少见的需要php路径的系统,只有在运行多个版本时才能看到
  • @amandagreenlee 我无法在 crontab 中运行该作业。它在终端使用 php 命令运行良好
【解决方案2】:

检查您传递给 PHP 的链接不是网络链接,这意味着它不是以 HTTP 开头的,而是应该是 PHP 文件的路径。

【讨论】:

    最近更新 更多