微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 使用Wget跳过成功下载的文件

所以我有这个Bash子程序使用wget下载文件,现在我的问题是如何跳过成功下载的文件.该脚本下载了大量文件,一旦下载失败,它会重新下载所有文件,从一开始就覆盖这些成功的下载(由于重新下载,这可能是不完整的).

那么如何跳过成功下载的文件呢?

DownloadFile() {
  paramURL=$1
  paramFilename=$2

  if [ $flag_archive_fetch = "false"  ];
  then
      wget "--timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
  else
      unzip -o "$archive_file" "$paramFilename" -d "${scratch_dir}"
  fi

  touch "${scratch_dir}$paramFilename"
}

解决方法:

您可以利用Wget –continue(恢复损坏的下载)和--timestamping(仅在Last-modified属性发生更改时覆盖成功下载的文件,否则会跳过下载)

wget "--continue ‐‐timestamping --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"

另一种选择是使用–no-clobber而不是–timestamping,它会跳过已下载的文件而不检查Last-modified属性,

 wget "--continue ‐‐no-clobber --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐