Как запустить фтп из скрипта.
Не подскажет ли кто как неинтерактивно, в скрипте, подключиться фтп-ой и выполнить несколько комманд, а вывод сложить в файл или в пайп. В Вынь ftp имеет ключ -s:FileName который это позволяет, а как тоже самое сделать в линуксе?
Re: Как запустить фтп из скрипта.
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: Как запустить фтп из скрипта.
Здравствуйте, On Wed, Feb 19, 2003 at 12:31:09PM +0200, Виктор Карпович wrote: Не подскажет ли кто как неинтерактивно, в скрипте, подключиться фтп-ой и выполнить несколько комманд, а вывод сложить в файл или в пайп. В Вынь ftp имеет ключ -s:FileName который это позволяет, а как тоже самое сделать в линуксе? lftp -- Elena Egorova
Re: Как запустить фтп из скрипта.
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: Как запустить фтп из скрипта.
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: Как запустить фтп из скрипта.
Читаем конспект по bash. ftp -n EOF open hostname user name password put get quit EOF -- Yagdzhyyev Vladislav Dnepropetrovsk, Ukraine и как это в коммандную строку можно поместить, что б не создавать отдельного файла? Например в cron-e.
Re: Как запустить фтп из скрипта.
Виктор Карпович 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