【问题标题】:How to start a remote PHP script via cronjob (alternative to wget)?如何通过 cronjob(替代 wget)启动远程 PHP 脚本?
【发布时间】:2013-10-23 06:53:20
【问题描述】:

我需要每分钟使用 cronjob 启动一个远程 PHP 脚本 (example.com/cron.php)。目前,我的 cronjob 看起来像这样:wget example.com/cron.php。这可行,但每次都会在我的服务器上放置一个 cron.php 文件。我怎样才能防止这种情况?或者有没有wget的替代品?

【问题讨论】:

  • 您尝试启动的 PHP 脚本是什么?如果 cron.php 不存在,脚本在哪里?

标签: php cron wget


【解决方案1】:

从手册页中引用 wget:

-O file

-O 的使用并不意味着简单地表示“使用名称文件而不是 URL 中的名称文件;”相反,它类似于 shell 重定向:wget -O file http://foo 旨在像wget -O - http://foo > file; 一样工作,文件将被立即截断,所有下载的内容都将写入那里。

这意味着-O - 将输出重定向到标准输出。在标准输出上输出你可以简单地重定向到/dev/null:

wget -O - http://example.com/cron.php >/dev/null

【讨论】:

  • 我需要每分钟使用一个 cronjob 启动一个远程 PHP 脚本 (example.com/cron.php) - 你的答案没有t解决那部分。
  • @AmalMurali 很好,他说“这行得通,但是……”,所以这似乎不是他的问题。
  • 正如我所说,它看起来这样 ;) 实际上,我当前的 cronjob 每分钟启动一次脚本,但是为每个调用创建一个文件... ~44k 个文件一个月。 @bwoebi:谢谢,很有魅力!
【解决方案2】:

如果你的服务器安装了 lynx,你可以使用 lynx example.com/cron.php 或者你可以使用 curl 并使用 curl example.com/cron.php

【讨论】:

    【解决方案3】:

    此解决方案适用于 linux 服务器: 要执行 cron 作业,您需要有权访问服务器上的 cronTab:

    编辑 crontab 使用命令行:

    sudo crontab -e    
    

    添加您要执行的脚本:

    * * * * *  php /path/to/your/script/cron.php 2>&1
    

    保存你的 crontab,你应该完成了。

    请查看链接http://en.wikipedia.org/wiki/Cron了解星号

    【讨论】:

      【解决方案4】:

      查看https://www.setcronjob.com/

      此网络程序使您能够自动在其他服务器上安排 cron 作业。

      【讨论】:

        猜你喜欢
        • 2015-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-09
        • 2011-07-07
        • 2018-03-26
        相关资源
        最近更新 更多