2014-10-23 4 views
0

У меня есть FTP-скрипт, работающий в Linux, и он не работает. Вот сценарий:FTP-скрипт не работает

/usr/bin/ftp -v -i -n my.ftp.server << cmd 
user ftpuser password 
binary 
ls 
<some other commands here> 
quit cmd 

возвращает ошибку:

421 Service not available, remote server has closed connection 
Not connected. 

Странная вещь в том, что если я только что напечатали это в командной строке: /USR/бен/FTP my.ftp .server Он запрашивает имя пользователя и пароль, и после того, как я их предоставил, мне удалось подключиться!

В ftp> Я использую ls, и я могу видеть файлы с FTP-сервера. Что не так с моим скриптом?

А также у меня нет доступа к FTP-серверу, поэтому я не могу видеть журналы. Есть идеи?

Спасибо!

ответ

1

Вот пример правильного сценария ftp linux.

#!/bin/sh 
HOST='ftp.server.com' 
USER='user' 
PASSWD='pw' 
FILE='file.txt' #sample file to upload 

ftp -n $HOST <<END_SCRIPT 
quote USER $USER 
quote PASS $PASSWD 
put $FILE #sample command 
#some other commands here 
quit 
END_SCRIPT 
exit 0 
+0

Я протестировал ваш скрипт, и он отлично работал в нашей установке, но все еще не удалось в нашей производственной установке. Я заметил, что все строки, выполненные после первой строки (ftp -n $ host << end_script), возвратили ошибку. 421 Услуга недоступна, удаленный сервер имеет закрытое соединение. Он даже не будет принимать введенное имя пользователя и пароль – racumin

Смежные вопросы