1

我有一个小 bash 脚本,可以从另一台服务器下载文件,有时下载会中断。如何检查 wget 是否已成功完成下载?

4

1 回答 1

0

如果它被中断,那么它可能有文件的一部分?

如果它有文件的一部分 - 你怎么知道文件是否是完整的文件取决于两个不同的检查。

要么你有实际的文件,要么可能来自另一个执行相同脚本的尝试,然后比较文件 - 你可以使用 md5 比较文件以确保它们相同。

另一种不太准确的方法可以通过 1 次尝试完成,您可以对文件执行 du -sk,如果文件超过一定大小,则通过 - 如果切断 99%,这绝不可以确保文件是否 100%

但您也可以查看 wget -c 恢复下载---

所以也许用这个选项运行它两次:

wget --help 2>&1 |grep "\-\-continue"
  -c,  --continue                resume getting a partially-downloaded file.

如果它是您可以控制的 Web 服务器,则可以安装: https ://metacpan.org/pod/Apache::OpenIndex

我认为这显示了目录索引的 md5 总和,因此您可以解析它并与下载文件的本地 md5 总和进行比较 - 如果未匹配运行 wget -c

于 2013-06-10T21:17:16.660 回答