我有一个小的bash脚本从另一台服务器下载文件,有时下载会被中断。如何检查wget是否已成功完成下载?
答案 0 :(得分:0)
如果它被中断,那么它可能有部分文件?
如果它有文件的一部分 - 你怎么知道文件是否是完整文件取决于两个不同的检查。
要么实际文件可能来自执行相同脚本的另一次尝试,那么比较文件 - 您可以使用md5比较文件以确保它们完全相同。
另一个不太准确的方法可以在1次尝试中完成,你可以在文件上做一个du -sk,如果它超过它传递的特定大小 - 这绝不能确保文件是100%那里如果切断99%
但您也可以查看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