среда, 3 ноября 2010 г.

Отказоустойчивое копирование

 

Давненько ничего не писал. Все как-то не складывалось. То одно то другое. А теперь вот, появилась минутка и живое настроение Улыбка. На улице солнце светит, не жарко но и не холодно. Жизнь идет, скоро новый год. В общем – нормально. В итоге возникло желаньице написать коротенькую заметку вот по какому вопросу. Недавно захотелось мне, верней не мне а пользователям, странного – заиметь просмотрщик PDF файлов. Я предпочитаю Foxit reader. В общем, нужно было скопировать инсталляху на удаленный комп по низкоскоростному (64к), нестабильному каналу. Обычные попытки сделать это, путем копирования на административный общий ресурс на клиенте успехом не увенчались. Соединение то и дело отваливалось. Robocopy тоже не очень подходило, потому как нужно было скопировать всего один файл, а эта утилита копирует целые каталоги. В итоге я решил испытать BITS в связке с powershell: командлет start-bitstransfer. Этот механизм позволяет передавать файлы с докачкой в асинхронном режиме. То есть запустил и забыл.

cls
$job = Start-BitsTransfer -Source 'D:\Downloads\Программы\Foxit reader\FoxitReader31_enu_Setup_091125.exe' -Destination '\\client\c$\FoxitReader31_enu_Setup_091125.exe' -TransferType upload -Asynchronous

$job
Идея тут в чем. В переменную $job возвращается объект, который следит за процессом копирования. Запрашивая ее периодически можно следить за результатом. Я не следил. Спросил пару раз вначале, и когда вспомнил о том что запускал копирование – еще раз спросил Улыбка. И получил вот такой результат

 


bits

Отправить комментарий