【问题标题】:Download file via php using cronjob使用cronjob通过php下载文件
【发布时间】:2013-05-27 09:58:55
【问题描述】:

我想每 2 天从一个 URL 下载一个 JSON 文件,我想用 PHP 来做 在我的 script.php 中我写了一个非常简单的东西

<?php

function getRepo()
{
    file_put_contents("repo.json", file_get_contents('http://somesite.com/repo.json'));
}

getRepo();

如果我在浏览器中尝试,这是完全可用的
现在我正在尝试自动化它

我已经完成了

crontab -e

并添加

PATH=/usr/bin # refers to where php executable is
10 * * * * php /path/to/my/script.php

这应该每 10 分钟运行一次以查看是否有效,但它没有,我不明白为什么......

【问题讨论】:

  • 它应该在整小时后运行 10 分钟(1:10、2:10 等)。使用*/10
  • 要让它每 10 分钟运行一次,你必须说 0,10,20,30,40,50 * * * * php /path/to/my/script.php
  • 您可以使用@Orangepill 版本或*/10 * * * * php /path/to/my/script.php。并注意* * */2 * * - 它的意思是“每两天和那一天的每一分钟”。将0 10 */2 * * 用作“每 2 天 10:00”。
  • @furas 真棒...我试图弄清楚你每隔一天会怎么做...
  • 好的解决了时间问题谢谢@furas

标签: php unix cron crontab


【解决方案1】:

如果您只想要文件而不对其进行任何处理,只需使用 wget

wget http://somesite.com/repo.json

在 wget 上搜索其保存到特定文件位置的选项,忘记它们是 atm。

【讨论】:

  • 现在使用 curl 和 curl --silent -o OutputFilename URL
【解决方案2】:

试试这个:

function getRepo()
{
    file_put_contents("/path/to/my/repo.json", file_get_contents('http://somesite.com/repo.json'));
}

 getRepo();

当脚本在 cron 上运行时,您必须在脚本保存 json("/path/to/my/") 时定义完整路径。 在 cron 中 10 分钟,尝试 */10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-04
    • 2012-07-16
    • 2011-10-03
    • 1970-01-01
    • 2015-03-24
    相关资源
    最近更新 更多