Войти

Показать полную графическую версию : Копирование файлов, если доступен только HTTP


counsellor
26-09-2015, 06:49
Добрый день всем!

Есть задача забирать файлы в автоматическом режиме с локальной машины доступной по http. На машине UNIX подобная система. Забирать надо по сетке из под Win7.
При вводе адреса в браузере http://1.0.0.32/LOG/ появляется список каталогов. В каждом каталоге набор файлов. Брать файлы надо выборочно из определенных каталогов. Но очень муторно из 20 каталогов вытаскивать при необходимости по два нужных файла. Приходится делать кучу кликов мышкой и сохранять файлы на диск.
Машинка по ftp не откликается, говорит нет связи.
Хотелось бы узнать, каким образом можно сделать забор файлов в автомате. Например каким нибудь батником или скриптом.
Например создать ярлык, который будет ссылаться на батник или скрипт, который будет забирать файлы и копировать их в определенную локальную директорию на диске.
В идеале желательно, что бы при копировании создавалась бы новая директория, например с тем же именем дополненным временем и датой. Т.е. если есть, например, директория D:/LOG/LOG2509151218. И в нее копировались бы файлы с поддиректориями, например, TOR00/~TOR_TIU1.TXT, TOR00/~TOR_TIN1.TXT, TOR02/~TOR_TIU1.TXT, TOR02/~TOR_TIN1.TXT, ну и так далее.

Iska
26-09-2015, 11:03
Хотелось бы узнать, каким образом можно сделать забор файлов в автомате. Например каким нибудь батником или скриптом. »
По http — муторно, медленно и ненадёжно. Либо разверните там WebDAV над http, либо таки разберитесь и настройте там ftp.

evpu
26-09-2015, 17:36
>>По http — муторно, медленно и ненадёжно.

Согласен, но если в локалке - пойдет! - ИМХО конечно.

Есть в PHP процедуры работы с каталогами, даже припомню - я на РНР делал нечто, связанное с ЛОГами, со сканированием директорий...

Если поднимите РНР машину, несмотря что http - работать будет.

>>Например каким нибудь батником или скриптом.
РНР пойдет. Дело в том, что надо в <head> заголовок html встроить время автоперезагрузки, и тогда если открыть некий РНР файл по ссылек, он будет каждую автоперезагрузку вам либо будет выдавать свежий список, либо автосахранять его - это уж как будет угодно.
А в общем, что называется - неконкретно - поетому и ответ общий.

counsellor
26-09-2015, 19:09
Iska, Развернуть что то на том хосте не получится. Не могу к нему извне добраться. Только по http.

А в общем, что называется - неконкретно - поетому и ответ общий. »
А что еще для конкретики нужно?

counsellor
28-09-2015, 19:09
Частично задача решена. Пришлось установить wget и написать батник:

IF EXIST ARCHIVE.zip del ARCHIVE.zip

wget -x 1.0.0.32/LOG/FILE00/~TOR_TIU00.TXT
wget -x 1.0.0.32/LOG/FILE00/~TOR_TIN00.TXT

и т.д.

rename 1.0.0.32 ARCHIVE
7z a -tzip ARCHIVE ARCHIVE
RMDIR /S /Q ARCHIVE


Но при этом каждый файл пришлось указывать в батнике, это раз.
И если набор директорий и файлов не постоянен, т.е. подключаться надо к разным компам для сбора их логов, то для каждого надо делать свой батник. А хотелось бы один универсальный иметь. Который бы проверял наличие директорий в цикле. И при ее существовании забирал бы указанные файлы меняя только их порядковый номер в зависимости от номера директория.

Iska
28-09-2015, 19:22
Который бы проверял наличие директорий в цикле. »
Для протокола «http:» в принципе не существует понятия «каталога». Единственный вариант — писать свой парсер возвращаемого html.




© OSzone.net 2001-2012