Страница 1 из 1

Менеджер закачек как сервис

Добавлено: 30 апр 2008 16:21
Скуф
Идея в следующем. Есть некоторый сервер, который находится внутри локальной сети. В него ежедневно с авторизацией долго и мучительно с инета заливается определенный набор файлов с определенными именами. Хотелось бы, чтобы этот процесс (менеджер закачек) существовал на сервере в виде сервиса. Что скажете, коллеги?

Добавлено: 30 апр 2008 16:33
1@NIC>RU
Попробуй Download Master - на русском языке, вроде бы есть что-то этого в функциях.
Но можно и через планировщик сделать.

Добавлено: 07 май 2008 13:53
Скуф
через планировщик, т.е. запускать им некоторый bat файл?
хотелось бы увидеть пример такого bat файла.

Re: Менеджер закачек как сервис

Добавлено: 07 май 2008 14:18
Акела
Скуф писал(а):Хотелось бы, чтобы этот процесс (менеджер закачек) существовал на сервере в виде сервиса. Что скажете, коллеги?
ось..?
если win, то есть способ записать исполнительный файл в консоль стандартных служб и запускать в режиме "auto".
как опция, можно запускать от определенного username.

деталей мало. сервер работает залогиненным? или сервисы должны подниматься сами (без логона)?

Добавлено: 08 май 2008 09:28
Скуф
сервер, ессно не залогинен, про username
меня интересует пример текста bat файла.
Нельзя же там написать "copy http://bla-bla/somefile.rar с параметром безусловной перезаписи"

Добавлено: 08 май 2008 09:42
еуе
не copy, а какая то другая утилита стандартная для командной строки была, не помню
а в PowerShell точно есть

Добавлено: 08 май 2008 09:53
mike
Скуф писал(а): меня интересует пример текста bat файла.
Есть консольная команда FTP

ftp -s:файл_с_командами

http://www.nsftools.com/tips/MSFTP.htm

Добавлено: 08 май 2008 09:59
еуе
это фтп на том конце иметь надо

Добавлено: 08 май 2008 11:05
mike
еуе писал(а): на том конце иметь надо
А что на том конце? HTTP?
Тогда какой-нибудь wget под винды.

Добавлено: 08 май 2008 13:15
Акела
mike писал(а):Тогда какой-нибудь wget под винды.
да, можно и так. как для фтп так и для хттп.
пример батнека:

wget -O"C:\TEMP\скачиваемыйфайл.дат" --passive-ftp ftp://ftp.адрес.com/скачиваемыйфайл.дат
call "C:\TEMP\скачиваемыйфайл.дат"

Добавлено: 08 май 2008 13:21
Акела
если же нужно установить исполнительный файл как системную службу, то следует воспользоватцо утилитами из кИта srvany.exe и instsrv.exe

пример батнека:

instsrv %1 c:\windows\system32\srvany.exe
echo REGEDIT4 >tmp.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%1] >>tmp.reg
echo "Start"=dword:00000003 >>tmp.reg
echo "Description"="name service" >>tmp.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%1\Parameters]>>tmp.reg
echo "AppDirectory"="%2" >>tmp.reg
echo "Application"="%2\\%3" >>tmp.reg
regedit /s tmp.reg
del tmp.reg

Добавлено: 08 май 2008 21:23
Скуф
хм, на этот случай у меня есть утилитка. Этот способ интересен как механизм, который встраивается в большую программу.
Однако вопрос не в том, как сделать батник сервисом, а в самом батнике.
Проблема вышла в том, что для http и ftp нужно передать служебные сведения, прежде чем сервер откроет сессию и начнет передачу файлов. Похоже среди стандартных средств командной строки нет такого метода. Следовательно его нужно либо описать, либо взять где-то готовый.
В принципе эта задача решилась средствами vbs.