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

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

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

Я хочу написать скрипт для периодического тестирования zip-файлов в папке загрузки с помощью «unzip -t», но я не хочу тестировать файлы, которые загружаются. Итак, как я могу определить, используется ли файл wget ?

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 

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

  • Сжатие и удаление исходного каталога с ограниченным хранилищем
  • Как найти поврежденные архивные файлы?
  • Замещать содержимое папки без включения самой папки
  • распаковать каталог в unix
  • Как закрепить файл и сохранить его в другом каталоге
  • Команда для рекурсивного хеширования CRC (CRC32)
  • Почтовый файл имеет разный размер после копирования на флешку
  • Менеджер архива не показывает файл с именем «-»
  • Как разбить несколько разделенных файлов в разных подпапках
  • Как узнать путь к определенному файлу в zip-архиве, не извлекая его?
  • Как узнать, сколько места займет несжатый почтовый индекс
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.