Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Синхронизация с FTP через Winscp (http://forum.oszone.net/showthread.php?t=293494)

irshat 05-01-2015 02:08 2452073

Синхронизация с FTP через Winscp
 
Не идет синхронизация с 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 /Мое/!Иршат

Выдает ошибку :(

Может есть у кого опыт, кто сталкивался, чтоб подсказать, что ему не хватает.
Прошу wget не предлагать, везде стоит Winscp.

mwz 05-01-2015 11:52 2452134

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

PS
И не вижу в документации на команду synchronize параметров local-path и remote-path: там просто первым идёт локальный каталог, а вторым – удалённый.

irshat 05-01-2015 19:21 2452335

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 2452363

Цитата:

Цитата irshat
Единственное, пробелов не должно быть в именах папок »

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

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

irshat 21-04-2015 23:29 2498955

Подниму тему, возникла проблема качания файлов по расширениям, сделал скрипт:

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 2535774

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


Время: 22:24.

Время: 22:24.
© OSzone.net 2001-