Какой бесплатный SFTP-клиент с поддержкой сценариев для Windows лучше всего?[закрыто]
Вопрос
Какой бесплатный SFTP-клиент с поддержкой сценариев для Windows лучше всего?
Я посмотрел WinSCP и FileZilla.WinSCP кажется вполне багги (нажмите здесь), а FileZilla кажется не очень удобным для сценариев.
Какие-либо предложения?
В основном то, что я хочу сделать, это:из запланированного задания войдите на удаленный сервер, перетащите все файлы и затем удалите их с удаленного сервера.
Решение
Вы можете использовать клиент scp, входящий в состав putty pscp.Вы можете использовать pscp в командной строке, как scp в командной строке Linux.
Другие советы
Putty scp уже упоминался.
Я хочу упомянуть putty psftp.exe, который может быть новым.
Используйте следующую командную строку:
psftp.exe -l -pw -b
Это позволит войти на ftp-сервер и запустить файл-с-ftp-cmds против этого.
Полная документация здесь:
http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html
Вы можете проверить SecureFX от VanDyke.http://www.vandyke.com/products/securefx/
или набор инструментов MKS для системных администраторов.http://mkstoolkit.com/products/tk/ds_tkother.asp
Я знаю, что это очень старый вопрос, но взгляните наhttp://redpark.posterous.com/lftp-for-windows
Из cygwin я использую только 3 файла:bash.exe, ssh.exe и cygssp-0.dll.Поместите их в тот же каталог, что и порт lftp для Windows от Redpark, и приступайте к написанию сценариев.
Пример командной строки:
D:\lftp>bash
bash-4.1# export PATH=.
bash-4.1# lftp sftp://user:pass@somehost.com
lftp user@somehost.com:~> put -c cx160sd.flv
194749860 bytes transferred in 112 seconds (1.67M/s)
lftp user@somehost.com:/> exit
bash-4.1# exit
exit
D:\lftp>
Это не единственное решение для exe-файлов, но загрузка оказалась в два раза быстрее, чем загрузка с помощью pscp.exe.
Редактировать:новый URL-адрес теперь уже остановлен:http://envelopepushing.wordpress.com/2010/08/24/lftp-for-windows/
Не бесплатно, но посмотрите edtFTPnet/ПРО для комплексного механизма сценариев, поддерживающего SFTP в Windows.
Вот пример сценария:
# Sample SFTP script
set remotehost=edtmobile
set user=javaftp
set password=javaftp
set protocol=sftp
set localdir=D:\work\tmp
# connect to the server
open
# change dir
cd remote/test
# put the local file test.txt to the server as mytest.txt
put test.txt mytest.txt
# disconnect
close
Примечание для других:Чтобы создать запланированное задание, просто откройте текстовый редактор и напишите команду pscp.Затем сохраните файл как файл .bat.В главах 5 и 6 документации есть все, что вы хотели бы знать о том, как работает pscp.
Обратите внимание, что pscp очень требовательно относится к источнику и цели.Если вы их не предоставите, pscp просто по умолчанию вернется к сообщению об использовании.
Вот пример:
c:\pscp.exe -pw [your password] -batch -sftp someuser@example.com:/* c:\yourlocation
В этом примере pscp.exe находится в корне каталога c.-batch отключает интерактивные подсказки, чтобы они не прерывали выполнение автоматизированной задачи.-sftp принудительно использует протокол sftp, потому что в вопросе указан sftp.Подстановочный знак :/* вернет все из источника, а c:\yourlocation указывает, где оно окажется на вашем компьютере.
Чтобы запланировать это как автоматизированную задачу, просто откройте «Запланированные задачи».В XP это находится в Системных инструментах.Затем укажите задачу на созданный вами файл .bat, дайте ему время для запуска, и все готово.
Раш FTP;бесплатен, поставляется в портативных версиях и имеет комплексный API сценариев (совместимый с языком LUA).
Если вы работаете с PowerShell, вы можете использовать что-то вроде netcmdlets (www.netcmdlets.com).Это не клиент как таковой, а набор библиотек (командлетов) для интернет-коммуникаций.Существует также бесплатная персональная версия.Легко настроить задачи расписания для вызова сценария PowerShell, и вы получаете полную гибкость и расширяемость с помощью кода.