我在Mac上并且有一个我想从ftp服务器下载的文件列表。连接有点儿错误,所以如果连接断开,我希望它重试并恢复。
我知道我可以用wget做到这一点,但不幸的是Mac OS X没有配备wget。我可以安装它,但要做到这一点(除非我遗漏了一些东西)我需要先安装XCode和MacPorts,我想避免。
虽然看起来可以使用Curl,但我不知道它是如何工作的或如何真正使用它。如果我在文本文件中有一个文件列表(每行一个完整路径,如ftp:// user:pass @ server / dir / file1)如何使用curl下载所有这些文件?我可以卷曲永不放弃吗?比如,无限次重试并从中断处恢复下载等等?
谷歌搜索和阅读之后,我找到了一个对我有用的解决方案:
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时,此选项非常方便。
似乎可能是某种东西,但不太明白它将如何使用......