持续重试使用curl恢复下载

Modified on: Mon, 11 Feb 2019 14:20:03 +0800

我在Mac上并且有一个我想从ftp服务器下载的文件列表。连接有点儿错误,所以如果连接断开,我希望它重试并恢复。

我知道我可以用wget做到这一点,但不幸的是Mac OS X没有配备wget。我可以安装它,但要做到这一点(除非我遗漏了一些东西)我需要先安装XCode和MacPorts,我想避免。

虽然看起来可以使用Curl,但我不知道它是如何工作的或如何真正使用它。如果我在文本文件中有一个文件列表(每行一个完整路径,如ftp:// user:pass @ server / dir / file1)如何使用curl下载所有这些文件?我可以卷曲永不放弃吗?比如,无限次重试并从中断处恢复下载等等?

作者:Svish

最佳答案

谷歌搜索和阅读之后,我找到了一个对我有用的解决方案:

curl ftp://server/dir/file[01-30].ext --user user:pass -O --retry 999 --retry-max-time 0 -C -
  • [01-30]将下载30个名为file01.ext,file02.ext等文件
  • --user user:pass应该是显而易见的
  • -O输出到原始名称为
  • 的文件
  • --retry 999重试999次
  • --retry-max-time 0以防止它超时重试。如果未指定固定的--retry-delay,则默认行为是在重试之间先睡一秒,然后将其加倍,直到达到10分钟。重试之间
  • -C -使其在丢弃的地方继续(如果再次运行命令)。之后的破折号告诉它要确定从哪里恢复

如果有人知道如何从文件中获取文件名,请告诉我。


在手册页中,它说明了以下内容:

  

- url <URL>
  指定要提取的URL。当您想在配置文件中指定URL时,此选项非常方便。

似乎可能是某种东西,但不太明白它将如何使用......


相关问答

添加新评论