2013-06-10 2 views
0

У меня есть небольшой скрипт bash, который загружает файлы с другого сервера, иногда загрузка прерывается. Как проверить, успешно ли завершена загрузка wget?Как проверить, успешно ли завершена загрузка wget?

+1

Проверить этот пост, вы должны используйте возвращаемое значение. http://stackoverflow.com/questions/2717303/checking-wgets-return-value-if – thertweck

ответ

0

если он прерван, то у него может быть часть файла?

Если у него есть часть файла - как вы узнаете, является ли файл полным файлом или нет, зависит от двух разных проверок.

Либо у вас есть фактический файл, может быть, из другой попытки выполнить один и тот же сценарий, а затем сравнить файлы - вы можете сравнить файлы с помощью md5, чтобы обеспечить их идентичность.

Другой менее точный метод может быть выполнен за 1 попытку, и вы можете сделать du -sk в файле, и если его выше определенного размера он проходит - это никоим образом не может гарантировать, что файл на 100% там, если разрезать от 99%

но вы также можете посмотреть в Wget -c, который возобновляет загрузку ---

поэтому, возможно, запустить его дважды с этой опцией:

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

если это веб-сервер, вы в управлении вы можете установить: https://metacpan.org/pod/Apache::OpenIndex

Я думаю, что это отображает md5 сумму DirectoryIndex так что вы можете разобрать это и сравнить с местной md5 суммой Вашего скачанного файла - если совпадение промаха запустить Wget -c

Смежные вопросы