使用gnu parallel确保所有.sh curl下载脚本下载

时间:2016-07-13 22:28:51

标签: gnu-parallel

我正在执行以下命令,该命令执行一组脚本,每个脚本都是卷曲下载。

parallel --resume-failed --joblog logshd.log {1} :::  SH/*.sh

下载的文件集非常大。我注意到有些文件无法下载。

我希望resume-failed参数能确保所有失败的下载恢复并完成。

  1. 我不清楚这是否意味着我需要再次运行这个过程,或者当我运行一次时就应该这样做。
  2. 来自gnu文档

      

    其中--resume-failed从命令行读取命令(和   忽略joblog中的命令), - try-failed忽略   命令行并重新运行作业日志中提到的命令。

    1. 我不清楚忽略命令行的内容或忽略作业日志中的命令意味着什么。可以澄清一下。

    2. 可以在同一个命令中声明--resume-failed和--retry-failed,如果是,那会产生什么影响?

    3. 此致 康特

1 个答案:

答案 0 :(得分:1)

如果我们假设下载间歇性失败,那么您的答案是--retries 10。在放弃之前它会运行命令10次。

当GNU Parallel完成时,

--resume-failed--retry-failed都会被使用,然后你会发现你想再次重试一些作业。

两者之间的区别在于如何重试命令。

  • --retry-failed将运行与之前失败的完全相同的命令。它通过查看命令的joblog来实现。这通常是你想要的。
  • 如果您发现失败的命令实际上需要一些其他参数,则使用
  • --resume-failed:即GNU Parallel不应该运行完全相同的命令,但它应该运行具有相同参数的(通常稍微更改)命令代替。