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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Копирование файлов, если доступен только HTTP (http://forum.oszone.net/showthread.php?t=305896)

counsellor 26-09-2015 06:49 2557805

Копирование файлов, если доступен только HTTP
 
Добрый день всем!

Есть задача забирать файлы в автоматическом режиме с локальной машины доступной по 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 2557833

Цитата:

Цитата counsellor
Хотелось бы узнать, каким образом можно сделать забор файлов в автомате. Например каким нибудь батником или скриптом. »

По http — муторно, медленно и ненадёжно. Либо разверните там WebDAV над http, либо таки разберитесь и настройте там ftp.

evpu 26-09-2015 17:36 2557918

>>По http — муторно, медленно и ненадёжно.

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

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

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

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

counsellor 26-09-2015 19:09 2557930

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

Цитата:

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

А что еще для конкретики нужно?

counsellor 28-09-2015 19:09 2558635

Частично задача решена. Пришлось установить 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 2558643

Цитата:

Цитата counsellor
Который бы проверял наличие директорий в цикле. »

Для протокола «http:» в принципе не существует понятия «каталога». Единственный вариант — писать свой парсер возвращаемого html.


Время: 21:47.

Время: 21:47.
© OSzone.net 2001-