【问题标题】:Issue With Cron Job On MAC OSMAC OS 上的 Cron 作业问题
【发布时间】:2021-08-12 09:42:55
【问题描述】:

我正在尝试在 MAC OS 上运行我的第一个 cron 作业(我的本地主机正在运行 MAMP)。

要访问 crontab,运行 cron 作业,我在命令行中输入以下内容:

crontab -e

然后我按键盘上的i 进入插入模式以插入 cron 作业。

插入的 cron 作业是

*   *   *   *   *   wget http://localhost:8888/project/cron.php

然后我按esc 并在命令行中输入:wq

然后我收到一条消息:

installing new crontab

然后我检查了 crontab -l 正在运行的 cronjobs,它说:

*   *   *   *   *   wget http://localhost:8888/project/cron.php

但是什么也没发生……

另外,下面是我在 cron.php 文件中作为测​​试脚本执行的脚本。它的目的是在项目根目录的文本文件中生成一个新的时间戳(cron 作业应该每分钟发生一次):

<?php
$file = dirname(__FILE__) . '/output.txt';

$data = "hello, it's " . date('d/m/Y H:i:s') . "\n";

file_put_contents($file, $data, FILE_APPEND);

?>

如果有人对为什么这不起作用有任何建议,我将不胜感激。

我已经在系统级别(即 macmini)和我的“项目”文件夹中尝试了上面显示的步骤。

我对所有这些都是全新的,所以任何帮助都会很棒。

【问题讨论】:

  • 你有checked the logs吗?自己在终端中运行wget http://localhost:8888/project/cron.php 是否按预期工作?有时 cron 环境运行时配置了不同的路径。最好使用完整路径,例如/usr/local/bin/wget http://localhost:8888/project/cron.php(输入which wget 查找完整路径)
  • 仅供参考,您无需通过 wget 调用您的 PHP。直接执行PHP脚本通常更简单,例如* * * * * /path/to/php /path/to/project/cron.php
  • 嗨@Phil,这行得通-我做了* * * * * /usr/bin/php /Applications/MAMP/htdocs/project/cron.php,如果您想这样做作为答案,我会将其标记为正确。
  • 嗯,在添加可能有效的随机答案之前,最好先找出您原来的方法无效的原因
  • 这些东西是作为哪个用户运行的?文件的权限和所有权很重要!

标签: php cron


【解决方案1】:

解决方案是使用文件路径而不是 url。首先,我找到了 php 所在的位置。我这样做了:

whereis php

这给了我以下文件路径:

/usr/bin/php

然后我得到了项目中 cron.php 文件的完整文件路径:

/Applications/MAMP/htdocs/project/cron.php

然后我在 crontab cron 作业中将两者结合起来:

*   *   *   *   *  /usr/bin/php  /Applications/MAMP/htdocs/project/cron.php

我使用的实际步骤与我最初的问题相同。

【讨论】:

  • 您最初的问题可能是wget 的路径。如果你也可以试试就好了
  • @Phil wget 文件的 URL 是问题中给出的。我什至在该文件中回显了一些文本以仔细检查它。除非我误解了你的意思?
  • 我的意思是使用which wget 获取可执行文件的路径并在您的crontab 中使用它,例如/usr/local/bin/wget http://localhost...。仅供参考,我认为使用 PHP 可执行文件是更好的选择,但只想知道为什么您的原始解决方案不起作用
  • @Phil 实际上确实尝试过,但我收到(并且仍然收到)一条消息,上面写着 wget not found 因此然后尝试文件路径。
  • 这是您第一次提到可以包含在您的问题中的任何错误消息。仅供参考,我只是编造了/usr/local/bin/wget,这可能不正确。你从which wgetwhereis wget 得到什么?
猜你喜欢
  • 2011-01-01
  • 1970-01-01
  • 2010-12-18
  • 2016-09-14
  • 2012-02-26
  • 2012-08-01
  • 2011-08-18
  • 2017-07-06
  • 2014-08-26
相关资源
最近更新 更多