Как узнать, загружен ли файл wget?

Я использую wget для загрузки файлов (большинство из них – zip-файлы) автоматически для меня в течение ночи.

Однако иногда утром я обнаружил, что несколько файлов нельзя распаковать. Я не знаю, почему это происходит, возможно, что-то не так с удаленным сервером.

  • Как узнать, сколько места займет несжатый почтовый индекс
  • У меня есть список файлов - результат команды find, как я могу использовать его для zip / tar файлов и удалять исходные файлы
  • Есть ли параллельный wget? Что-то вроде fping, но только для загрузки?
  • Сжатие старых файлов журнала и переход в новый каталог
  • Ошибка Wget TLS 1.2
  • После загрузки файла .asp или .php его можно преобразовать в .html-файл?
  • Я хочу написать скрипт для периодического тестирования zip-файлов в папке загрузки с помощью «unzip -t», но я не хочу тестировать файлы, которые загружаются. Итак, как я могу определить, используется ли файл wget ?

  • Можно ли распаковать zip-файл, содержащий образ диска, а затем сохранить его на SD-карту за один шаг?
  • Кэш DNS для wget
  • tar-эквивалент zip -o (-latest-time)?
  • wget возвращает html-страницу вместо исходного файла
  • Использование wget для получения имен файлов из текстового файла
  • Есть ли параллельный wget? Что-то вроде fping, но только для загрузки?
  • 3 Solutions collect form web for “Как узнать, загружен ли файл wget?”

    Вы можете использовать fuser , или lsof .

     fuser foo.zip 

    Результат выглядит так:

     $ fuser archlinux-2013.02.01-dual.iso /home/chris/archlinux-2013.02.01-dual.iso: 22506 $ awk -F'\0' '{ print $1 }' /proc/22506/cmdline wget 

    Измените скрипт загрузки, чтобы загрузить файлы во временное имя или каталог, а затем переместите результат при завершении загрузки. Это более устойчиво, чем попытка обнаружить, что wget все еще работает; в частности, если wget прерван (например, перезагрузкой), вы не рискуете ошибочно принять частичный файл для полной загрузки. Кроме того, обязательно проверьте статус возврата wget. Скорее всего, ваши сломанные файлы на самом деле усекают файлы в результате прерывания загрузки.

     cd incoming && wget http://example.com/foo.zip && mv foo.zip .. 

    Вы можете использовать lsof для проверки того, открыт ли файл какой-либо программой.

     for FILE in /path/to/files/*.zip do if [ -z "$(lsof $FILE)" ] then unzip $FILE fi done 

    или что-то подобное

    Linux и Unix - лучшая ОС в мире.