NetworkDoc.Ru В помощь системному администратору

Powershell webclient для ftp

Tuesday, April 30 2013, 12:01 PM
HFFreeway
HFFreeway
Offline
0
Всем привет, подскажите пожалуйста с следующим вопросом?
Я использую скрип для копирования определенных файлов с FTP сервера
код скрипта:

webclient = New-Object System.Net.WebClient
$webclient.credentials = New-Object System.Net.Networkcredential('login', 'password')
$webclient.proxy = false
$webclient.downloadfile(("ftp://"+$ip+"/3comoscfg.cfg"),("c:\tftp_store\backups\"+$hostname+".cfg"))

Из скрипта видно, что я копирую файл 3comoscfg.cfg с некоторого ftp сервера на компьютер в папку c:\tftp_store\backups.
Когда скрипт отрабатывает то перезаписывает старый файл новым.
Проблема в том, что если удаленный ftp сервер не доступен, то скрипт затирает старый файл, который лежит на c:\tftp_store\backups.
Подскажите пожалуйста как сделать проверку, что бы $webclient.downloadfile(("ftp://"+$ip+"/3comoscfg.cfg"),("c:\tftp_store\backups\"+$hostname+".cfg")) отрабатывал только в том случае когда удаленный ftp сервер доступен?

Accepted Answer

Ydacha
Ydacha
Online
Wednesday, May 01 2013, 06:28 PM - #permalink
0
Если открыт ICMP Ping, и не особо заботит быстродействие то можно использовать:

webclient = New-Object System.Net.WebClient
$webclient.credentials = New-Object System.Net.Networkcredential('login', 'password')
$webclient.proxy = false
$url = "ftp://"+$ip+"/3comoscfg.cfg"
$file = "c:\tftp_store\backups\"+$hostname+".cfg"
If (Test-Connection $ip -quiet) {$webclient.DownloadFile($url,$file)}
The reply is currently minimized Show
Responses (0)
  • There are no replies here yet.
Your Reply
Сеть
Сеть
6 post(s)
VOIP
VOIP
4 post(s)
Loading ...

Joomla! Debug Console

Errors

Session

Profile Information

Memory Usage

Database Queries