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

Ensuring all .sh curl download scripts download using gnu parallel

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

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

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

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

  1. 我不清楚这是否意味着我需要再次 运行 该过程,或者是否应该在我 运行 一次时发生。

来自 gnu 文档

Where --resume-failed reads the commands from the command line (and ignores the commands in the joblog), --retry-failed ignores the command line and reruns the commands mentioned in the joblog.

  1. 我不清楚忽略命令行或忽略作业日志中的命令是什么意思。能说明白吗

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

问候 康特

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

--resume-failed--retry-failed 都在 GNU Parallel 完成时使用,然后你发现你想再次重试一些作业。

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

  • --retry-failed 将 运行 与之前失败的命令完全相同。它通过在作业日志中查找命令来做到这一点。这通常是您想要的。
  • --resume-failed 如果您发现失败的命令实际上需要一些其他参数,则使用:即 GNU Parallel 不应该 运行 完全相同的命令,但它应该 运行 a (通常略有变化)使用相同参数的命令。