我正在下载很多我的研究数据。数据正在我校园的一台超级计算机上下载,但数据下载每小时都会中断。当操作系统暂停管道时,我必须删除文本文件中代表已下载文件的所有行。不难,但很烦人,我宁愿不这样做。这是我下载所有内容的方式
cat subset.txt | tr -d '\r' | xargs -P 4 -n 1 curl -LJO -s -n --globoff -c ~/.urs_cookies -b ~/.urs_cookies
每个 url 都会被传递给我curl
并xargs
提供 4 个并行下载。有没有办法暂停整个管道并稍后继续管道?
答案1
你可以让curl
做并行下载与-Z
选项。你需要至少版本 7.66.0为此,但请注意,他们在 7.66 之后的版本中添加了更多并行相关标志。
最简单的命令是:
curl --config myconfig.txt -Z ...
其中myconfig.txt
有这种格式的 url 列表(您可以添加其他标志,例如重命名输出、恢复下载等):
url = "http://example.com/a"
url = "http://example.com/j"
您可以在配置文件中找到更多信息在他们的网站上。