Woo*_*ess 3 linux bash wget download
所以我有这个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"
}
Run Code Online (Sandbox Code Playgroud)
您可以利用Wget --continue(恢复损坏的下载)和--timestamping(仅在Last-modified属性发生更改时覆盖成功下载的文件,否则会跳过下载)
wget "--continue ??timestamping --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用--no-clobber而不是--timestamping,它跳过已下载的文件而不检查Last-modified属性,
wget "--continue ??no-clobber --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
Run Code Online (Sandbox Code Playgroud)