Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Виктор Карпович
Не подскажет ли кто как неинтерактивно,
в скрипте, подключиться фтп-ой и выполнить
несколько комманд, а вывод сложить в файл или в пайп.
В Вынь ftp имеет ключ -s:FileName который это позволяет,
а как тоже самое сделать в линуксе?



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Victor Wagner
On 2003.02.19 at 12:31:09 +0200, Виктор Карпович wrote:

 Не подскажет ли кто как неинтерактивно,
 в скрипте, подключиться фтп-ой и выполнить
 несколько комманд, а вывод сложить в файл или в пайп.
 В Вынь ftp имеет ключ -s:FileName который это позволяет,
 а как тоже самое сделать в линуксе?

Во-первых, все кроме пароля ftp честно читает со stdin.

Поэтому никто не мешает сказать что-то вроде

echo open ftp.somewhere.net
  cd /pub/unix/drivers/
  get something.tar.gz
  quit
   |ftp

Единственное, что требуется, так это чтобы ftp мог неинтерактивно
залогиниться. По этому поводу читать man netrc

Во-вторых, существуют более другие (в частности более скриптуемые)
ftp клиенты. Если надо только качать, то wget.

В-третьих, обычно для передачи файлов в неинтерактивном режиме,
используются более другие протоколы - rcp, scp.

В-четвертых, во всех приличных скриптовых языках (Tcl, Perl, Python,
Ruby) существуют библиотеки для работы с ftp-протоколом, и можно
пользоваться ими а не звать внешнюю программу.

-- 
Victor Wagner   [EMAIL PROTECTED]
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net  http://www.ice.ru/~vitus



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Elena Egorova
Здравствуйте,

On Wed, Feb 19, 2003 at 12:31:09PM +0200, Виктор Карпович wrote:
 Не подскажет ли кто как неинтерактивно,
 в скрипте, подключиться фтп-ой и выполнить
 несколько комманд, а вывод сложить в файл или в пайп.
 В Вынь ftp имеет ключ -s:FileName который это позволяет,
 а как тоже самое сделать в линуксе?

lftp

--
Elena Egorova



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Виктор Карпович
 On 2003.02.19 at 12:31:09 +0200, Виктор Карпович wrote:

  Не подскажет ли кто как неинтерактивно,
  в скрипте, подключиться фтп-ой и выполнить
  несколько комманд, а вывод сложить в файл или в пайп.
  В Вынь ftp имеет ключ -s:FileName который это позволяет,
  а как тоже самое сделать в линуксе?

 Во-первых, все кроме пароля ftp честно читает со stdin.

 Поэтому никто не мешает сказать что-то вроде

 echo open ftp.somewhere.net
   cd /pub/unix/drivers/
   get something.tar.gz
   quit
|ftp

 Единственное, что требуется, так это чтобы ftp мог неинтерактивно
 залогиниться. По этому поводу читать man netrc
 --
 Victor Wagner [EMAIL PROTECTED]
 Chief Technical Officer Office:7-(095)-748-53-88
 Communiware.Net Home: 7-(095)-135-46-61
 http://www.communiware.net  http://www.ice.ru/~vitus

Спасибо, то что доктор прописал



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Victor Wagner
On 2003.02.19 at 13:05:43 +0200, Vladislav wrote:

 Ср 19 Фев 2003 12:51, Victor Wagner написал:
  echo open ftp.somewhere.net
cd /pub/unix/drivers/
get something.tar.gz
quit
 |ftp
 
 
 Читаем конспект по bash.
 ftp -n  EOF
 open hostname
 user name password
 put 
 get
 quit
 EOF

Не читайте советских газет по утрам (с) Преображенский.

Наличие в скрипте плейнтекстового пароля требует резкого ограничения
прав на этот скрипт, что неудобно.

Кроме того, предполагается что вместо команды echo туда будет подсунута
более умная программа, которая сгенерит требуемый набор команд.
(кстати в этом случае -n и команду user с двумя аргументами стоит включить в
рассмотрение) А в случае here-document ничего кроме простой подстановки
переменных нам не доступно.







--
Victor Wagner   [EMAIL PROTECTED]
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net  http://www.ice.ru/~vitus



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Виктор Карпович
 Читаем конспект по bash.
 ftp -n  EOF
 open hostname
 user name password
 put
 get
 quit
 EOF

 --
 Yagdzhyyev Vladislav
 Dnepropetrovsk, Ukraine

и как это в коммандную строку можно поместить,
что б не создавать отдельного файла?
Например в cron-e.



Re: Как запустить фтп из скрипта.

2003-02-19 Пенетрантность Pavel S. Zamulin

Виктор Карпович wrote:

Читаем конспект по bash.
ftp -n  EOF
open hostname
user name password
put
get
quit
EOF

--
Yagdzhyyev Vladislav
Dnepropetrovsk, Ukraine



и как это в коммандную строку можно поместить,
что б не создавать отдельного файла?
Например в cron-e.

а почему бы не воспользоваться тем же lftp? например вот так:

#!/bin/sh
/usr/bin/lftp -u USERNAME,PASSWORD -e 
get PATH/FILENAME1;
get PATH/FILENAME1;
quit ftp.domain.name




--
==
Pavel S. Zamulin
System administrator ChGUES UralSvyazInform.
Chelyabinsk, phone +7-351-2781600, +7-351-2780511