Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Детект потерянного соединения в ftp.exe (http://forum.oszone.net/showthread.php?t=331663)

Voidstranger 04-12-2017 22:27 2782353

Детект потерянного соединения в ftp.exe
 
Доброго времени суток. С горем пополам настроил синхронизацию локальной папки с фтп через ftp.exe (увы, но использование именно ftp.exe обязательно). Но иногда при закачке файлов с фтп ftp.exe просто "подвисает" - начинает качать, а потом перестаёт, просто висит. В папке висит недозакачанный файл. Можно ли как-то задетектить такое поведение и, например, закрыть ftp.exe?

greg zakharov 05-12-2017 10:06 2782425

Цитата:

Цитата Voidstranger
настроил синхронизацию локальной папки с фтп через ftp.exe

Да ну?!
Цитата:

Цитата Voidstranger
В папке висит недозакачанный файл. Можно ли как-то задетектить такое поведение и, например, закрыть ftp.exe?

Средствами командной строки сделать сие затруднительно, плюс ко всему прочему нужно заведомо знать размер загружаемого файла, чего не умеет ни одна штатная утилита комстроки Windows. Если обратиться к PowerShell, задача бы сводилась к:
1) запросу на ftp на существование файла с возвратом размера последнего в случае его существования
2) созданием экземпляра объекта наблюдателя файловой системы с лимитом на простой загрузки файла
3) разрывом соединения в случае, если наблюдатель не отрапортовал об окончании загрузки по окончании последней операции или истечением отведенного времени на загрузку
Другой вариант, при условии, что система Win10 Pro, можно установить подсистему Linux и установить из магазина приложений, скажем, Ubuntu, благо та всего в сотню с небольшим лишком мегабайт, и использовать Bash.
Ну и третий вариант, собрать из исходников curl и все запросы к ftp гнать через него, ибо ftp.exe в Windows это двольно гнусная вещь, которую следует блокировать на уровне групповых политик Windows.

Voidstranger 06-12-2017 09:14 2782664

Вы, наверное, удивитесь, но батник пару дней работает как часы. Ненужные файлы с фтп удаляются, недостающие закачиваются. Потом файлы нормально назад качаются для проверки. И всё со стандартным ftp.exe. В случае обрывов связи - нормально детектится ошибка.
Так что пока вопрос снимается:)


Время: 23:06.

Время: 23:06.
© OSzone.net 2001-