Имя: Пароль:
1C
1C 7.7
v7: FTP не идёт в одном филиале.
0 1Сергей
 
18.02.15
07:20
Отправляется файл на FTP. Работает на 16 филиалах, на одном не работает


    ФТППользователь = СокрЛП(СписокНастроек.Получить("ФТПЛогин"));
    ФТППароль = СокрЛП(СписокНастроек.Получить("ФТППароль"));
    
    Скрипт=СоздатьОбъект("Текст");
    Скрипт.ДобавитьСтроку("open " + СписокНастроек.Получить("ФТПАдрес"));
    Скрипт.ДобавитьСтроку("user");
    Скрипт.ДобавитьСтроку(ФТППользователь);
    Скрипт.ДобавитьСтроку(ФТППароль);
    Скрипт.ДобавитьСтроку("binary");
    Скрипт.ДобавитьСтроку("cd """ + СписокНастроек.Получить("ФТППутьСохраненияВыгрузки") + """");
    Скрипт.ДобавитьСтроку("put """ + ПутьСохранения + """");
    Скрипт.ДобавитьСтроку("bye");
    
    //ИмяВременногоФайла = "c:\1.txt";
    ИмяВременногоФайла = КаталогВременныхФайлов() + "ftpscript.txt";
    
    //записываем скрипт на диск
    Скрипт.Записать(ИмяВременногоФайла);
    
    //а теперь запускаем его выполнение
    Попытка
        КомандаСистемы("ftp -n -s:" + ИмяВременногоФайла);
    Исключение
        ВЛогФайл("Не удалось запустить скрипт отправки на FTP");
        Возврат;
    КонецПопытки;
    
    ВЛогФайл("Отправлен на FTP файл " + ПутьСохранения);


Виснет вот таким образом:
http://savepic.su/5064597.png

Руками, под этим же пользователем, FTP работает.
Подскажите, в чем может быть дело?
1 vcv
 
18.02.15
07:38
А если убрать русские буквы из названия папки?
2 1Сергей
 
18.02.15
07:40
(1) попробовал. та же баня
3 PuhUfa
 
18.02.15
08:03
А есть возможность посмотреть логи на ftp сервере?
4 1Сергей
 
18.02.15
08:25
(3) есть.


2015-02-18 05:19:37 192.168.2.1  - 192.168.1.1 21 ControlChannelOpened - - 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb -
2015-02-18 05:19:37 192.168.2.1 - 192.168.1.1 21 USER UserName 331 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb -
2015-02-18 05:19:37 192.168.2.1 DOMAIN\UserName 192.168.1.1 21 PASS *** 230 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb /
2015-02-18 05:19:37 192.168.2.1 DOMAIN\UserName 192.168.1.1 21 TYPE I 200 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb -
2015-02-18 05:19:37 192.168.2.1 DOMAIN\UserName 192.168.1.1 21 CWD Directory\SubDirectory 250 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb /Directory/SubDirectory
2015-02-18 05:19:38 192.168.2.1 DOMAIN\UserName 192.168.1.1 21 PORT 192,168,16,10,19,137 200 0 0 4e702f13-b91e-47d5-a907-e1a1674872bb -
2015-02-18 05:19:39 192.168.2.1 DOMAIN\UserName 192.168.1.1 21 STOR Ust-Kamenogorsk.zip 550 4294967295 0 4e702f13-b91e-47d5-a907-e1a1674872bb /Directory/SubDirectory/Ust-Kamenogorsk.zip
5 PuhUfa
 
18.02.15
08:52
(4)
Коды ответов FTP:
550    Запрошенная функция не реализована, файл недоступен, например, не найден
6 PuhUfa
 
18.02.15
08:53
Это по последней строке лога
7 1Сергей
 
18.02.15
09:03
(5) если я указываю несуществующий путь, то он сразу говорит "Файл не найден" и выходит.
скрипт (0) виснет
8 PuhUfa
 
18.02.15
09:11
(7) кто говорит? Твоя сторона или серверная часть?
Я не владею тонкостями работы FTP но предположу. В твоем случае сервер работает в активном режиме, т.е. сервер сам подключается к клиенту и забирает указанный файл. Возможно, что когда ты указываешь заранее несуществующий фаул, тебе "Файл не найден" говорит клиент, а до сервере вообще ничего не доходит. В (0) клиент файл видит, но из за каких то проблем с путями, сервер, после подключения к клиенту, не может найти файл по предоставленным ему данным (код 550 в логе).
Так же предположу, что в остальных филиалах FTP сервера работают в пассивном режиме, в котором клиент сам заливает файл на сервер.
зы все мое имхо
9 1Сергей
 
18.02.15
09:30
(8) сервер один для всех.
http://savepic.su/5087151.png
10 PuhUfa
 
18.02.15
09:34
(9) А теперь посмотри это действие в логах сервера. Там, скорее всего, про то что нужно забрать D:\2.txt вообще ничего в логах.

ps лирическое отступление: а зачем вообще ftp если, судя по ip, у тебя, видимо, vpn тунель поднят до ЦО
11 1Сергей
 
18.02.15
09:43
(10) >>а зачем вообще ftp если, судя по ip, у тебя, видимо, vpn тунель поднят до ЦО

да, тунель. фтп надёжнее. По разным техническим причинам компьютеры могут быть выведены из домена или вообще какими-то другими путями подключены
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан