【问题标题】:Use cURL to download a file in a cron job使用 cURL 在 cron 作业中下载文件
【发布时间】:2017-06-11 02:51:55
【问题描述】:

我遇到了另一个post,其中一个人谈到了他如何让他的 Web 服务器使用 cron 作业定期从 AWS 下载 JS 文件。我之前没有创建过 cron 作业,但他的例程正是我需要实现的。

我发现我的网络主机不允许在 cron 作业中使用 wget 命令,他们建议我改用 cURL。到目前为止,这是我所得到的,但它似乎不起作用:

/usr/bin/curl --user-agent cPanel-Cron https://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js --output wp-content/uploads/libraries/wp-content/uploads/libraries

他们的文档指出您需要声明一个用户代理(不管它是什么),所以这就是其中的原因。

简而言之,我希望它将此文件下载到特定文件夹中,保持相同的文件名,并覆盖已经存在的文件。

我还接近吗?

【问题讨论】:

    标签: wordpress amazon-web-services cron


    【解决方案1】:

    改用 wget:

    wget -O /virtualhosts/some-directory/wp-content/uploads/libraries/wp-content/uploads/libraries/mc-validate.js https://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js 
    

    编辑:由于您的主机不支持 wget 并且支持 curl 您可以完全按照您发布的方式使用 curl,但是对于您可能想要的 cron 作业文件位置的绝对路径:

    curl --user-agent cPanel-Cron https://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js --output /absolute/path/to/mc-validate.js
    

    ^^ 注意:这些只是假的绝对路径。您可以在 shell 中运行pwd 以确定wp-content/uploads/libraries/wp-content/uploads/libraries 的实际绝对路径。

    【讨论】:

    • I found out that my web host doesn't allow wget commands in cron jobs,第二段第一句
    • @Antony:尝试使用该位置的绝对路径。您的 cronjob 可能没有在您一直在测试的目录中运行。通过使用绝对路径,pwd 变得无关紧要。
    • 感谢您的帮助,戴夫。我试过这个:curl --user-agent cPanel-Cron https://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js --output /wp-content/uploads/libraries/mc-validate.js,它给了我这个错误:% Total % Received % Xferd Average Speed Time Time Time Time Current Dload Upload Total Spent Left Speed Warning: Failed to create the file Warning: /wp-content/uploads/libraries/ mc-validate.js curl:(23)失败的写作主体(0!= 16360)
    • 好的。我认为这实际上不是您安装 wordpress 的绝对路径。我们需要找出wp-content 目录在文件系统上的位置。你有这个实例的 ssh 访问权限吗?如果是这样,您可以进入wp-content 目录并输入pwd 并告诉我输出是什么吗?
    • 你是个天才,戴夫!我花了一段时间才弄清楚如何进行 SSH 设置以及如何操作,但我还是找到了路径。我测试了一切,它成功了!!出于安全原因,这是带有 X 部分路径的命令,以防万一有人遇到类似情况:curl --user-agent cPanel-Cron https://s3.amazonaws.com/downloads.mailchimp.com/js/mc-valid‌​ate.js --output /home/xxxxxx/public_html/wp-content/uploads/libraries/mc-va‌​lidate.js 再次感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2018-12-14
    • 2023-03-08
    • 2021-11-05
    • 1970-01-01
    相关资源
    最近更新 更多