[英]Skip successfully downloaded files using 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"
您可以通過檢查$?
來檢查WGET退出狀態代碼 $?
wget .....
# store the error
error=$?
if (( $error != 0 ))
then
#handle error
else
#handle success
fi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.