Powershell webclient для ftp
posted in Общие вопросы
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 сервер доступен?
Я использую скрип для копирования определенных файлов с 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
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)}
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here.
Register Here »