【问题标题】:Running a PHP Script with Cron From Cygwin使用 Cygwin 中的 Cron 运行 PHP 脚本
【发布时间】:2016-01-21 08:23:43
【问题描述】:

我想将我的cron.txt 推送到 crontab 使用类似的东西:

crontab cron.txt

我的 cron.txt 文件的内容是:

# Format : minute | hour | day-of-month | month | day-of-week | path-to-script

0 1600 * * 4 C:/path/to/myscript.php

我收到错误:

"cron.txt":4: bad hour

如何正确运行脚本?只需要时间和php文件的路径吗?

谢谢。

【问题讨论】:

  • 你想在每个星期四下午 4 点运行它吗?
  • 好的,所以我刚刚意识到小时应该是16 而不是1600。但是脚本路径呢?
  • 我猜 1600 小时是无效的。我不确定
  • @Darren - 是的,差不多。

标签: php cron cygwin crontab cron-task


【解决方案1】:

您似乎已经解决了无效时间问题,现在如果您的 php 脚本可以通过网络访问,为什么不使用 curl 请求作为您的命令?

0 16 * * 4 curl --request GET 'http://www.yoursite.com/path/to/myscript.php'

显然您需要保护它,可能使用自定义获取密钥,甚至在 .htaccess 中,只允许服务器访问。

【讨论】:

  • 谢谢,这很不错,但是你知道如何从本地 php 文件运行它吗?
  • @navlag 记住 cron 任务是运行原生 linux 任务,所以试试这个 - /usr/local/bin/php /path/to/myscript.php :)
【解决方案2】:

小时参数应该是没有分钟的小时(16 不是 1600)。 至于路径,你需要告诉cygwin应该如何执行:尝试在开头添加php。

# Format : minute | hour | day-of-month | month | day-of-week | path-to-script
0 16 * * 4 php C:/path/to/myscript.php

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 2012-06-27
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 2019-07-23
    相关资源
    最近更新 更多