Войти

Показать полную графическую версию : [решено] Синхронизация с FTP через Winscp


irshat
05-01-2015, 02:08
Не идет синхронизация с FTP через командный скрипт Winscp. Делал так:
option batch on
option confirm off

# open ftp connection
open ftp://login:pass@server

# synchronize files from server
synchronize -criteria=either -transfer=binary both local-path d:\Мое\ remote-path /Мое/!Иршат
Выдает ошибку :(
http://i.imgur.com/31t7DTD.png
Может есть у кого опыт, кто сталкивался, чтоб подсказать, что ему не хватает.
Прошу wget не предлагать, везде стоит Winscp.

mwz
05-01-2015, 11:52
irshat, чисто навскидку.
Я бы поставил ключи после параметра команды, т.е. начал бы с synchronize both -criteria=either
Кроме того, у вас в именах папок есть кириллические символы и присутствует восклицательный знак. Если все имена на английском – проблема сохраняется? Если заработало – то если без восклицательного знака?

PS
И не вижу в документации на команду synchronize (http://winscp.net/eng/docs/scriptcommand_synchronize) параметров local-path и remote-path: там просто первым идёт локальный каталог, а вторым – удалённый.

irshat
05-01-2015, 19:21
mwz,
Вы были правы local-path и remote-path не нужны. Огромное спасибо.
Их убрал и все нормально стало. Я и не думал, что у них там такие инструкции есть, много чего для себя узнал.
Хотя both я все равно на всякий случай в начало поставил, доверившись вашей интуиции.
Качает и с английских папок и с кириллицы с восклицательным знаком. Единственное, пробелов не должно быть в именах папок. Ну это я как-нибудь своим теткам конторским объясню. :)
Еще что удобно, можно добавлять еще папки в один и тот же скрипт.
Выкладываю рабочий скрипт может для кого то полезным будет.
Синхронизация идет двусторонняя, с проверкой по времени.
option batch on
option confirm off

# open ftp connection
open ftp://login:pass@server

# synchronize files from server
synchronize both -criteria=either -transfer=binary d:\Маркетинг\ /FTP/Маркетинг
synchronize both -criteria=either -transfer=binary d:\Бухи\ /FTP/Cубкомиссия,фототовары

mwz
05-01-2015, 19:58
Единственное, пробелов не должно быть в именах папок »

Можно, конечно, попробовать, взяв в кавычки путь с пробелами на локальной стороне (типа "d:\Наш Маркетинг") и заменив пробелы на %20 на удалённой (/FTP/Наш%20Маркетинг) – но не уверен.

Закрывающий слэш (d:\Маркетинг\) в именах каталогов вроде бы не обязателен, да и кавычки, если он уж стоит, ставить рискованно.

irshat
21-04-2015, 23:29
Подниму тему, возникла проблема качания файлов по расширениям, сделал скрипт:

option batch on
option confirm off

# open ftp connection
open ftp://login:pass@server

# synchronize files from server
synchronize remote -preservetime -criteria=either -transfer=binary -filemask="|*.74A; *.zip" "C:\SMTP" "/FTP/"

качается все, кроме того, что я указал, а хотелось бы чтоб закачалось именно зиповские файлы и файлы с расширением 74А, может более опытные товарищи подскажут, что делаю не то.

irshat
02-08-2015, 11:18
Понял свою ошибку :sorry: . Неправильно понял инструкцию.
Этот знак | означает, что наоборот не надо типы этих файлов качать, а без него именно, то что надо качается.




© OSzone.net 2001-2012