【问题标题】:Using wget in a crontab to run a PHP script在 crontab 中使用 wget 运行 PHP 脚本
【发布时间】:2011-06-30 08:12:08
【问题描述】:

我在我的 Ubuntu 服务器上设置了一个 cron 作业。基本上,我只是希望这份工作能够调用另一台服务器上的 php 页面。然后这个 php 页面将清理数据库中的一些内容。所以我认为用 wget 调用这个页面然后将结果发送到 /dev/null 是个好主意,因为我根本不关心这个页面的输出,我只希望它完成它的数据库清理工作。 所以这是我的 crontab:

0 0 * * * /usr/bin/wget -q --post-data 'pass=mypassword' http://www.mywebsite.com/myscript.php > /dev/null 2>&1

(我发布了一个密码以确保除了我之外没有人可以运行该脚本)。它就像一个魅力,除了 wget 每次在我的用户目录中写入一个空页面:下载 php 页面的结果。

我不明白为什么结果没有发送到 /dev/null ?对这里的问题有任何想法吗? 非常感谢!

【问题讨论】:

  • 使用 -O 和 wget,或使用 curl 代替 wget

标签: linux ubuntu wget crontab


【解决方案1】:

wget 对 STDOUT 的输出是它试图建立连接、显示进度等。

如果你不希望它存储保存的文件,使用-O file参数:

/usr/bin/wget -q --post-data -O /dev/null 'pass=mypassword' http://www.mywebsite.com/myscript.php > /dev/null 2>&1

查看wget manpage。您还可以找到 -q 选项,用于完全禁用到 STDOUT 的输出(但当然,您也可以重定向输出)。

【讨论】:

    【解决方案2】:
    wget -O /dev/null ....
    

    应该做的伎俩

    【讨论】:

      【解决方案3】:

      您可以使用 --quiet 选项静音 wget 输出

      wget  --quiet    http://example.com
      

      【讨论】:

        猜你喜欢
        • 2011-07-05
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        相关资源
        最近更新 更多