подключение к фтп

vasily_pupkin
Дата: 02.02.2010 17:33:47
solaris 10
составляю скрипт в котором требуется подключиться к фтп. как это сделать одной командой? есть ли что то наподобие:
ftp user@host:password?
Ося
Дата: 02.02.2010 19:11:09
tcl/tk -- expect

ftp -- интерактивный
avb1003
Дата: 02.02.2010 20:21:16
vasily_pupkin,
Когда-то, давно, работало что-то вроде:
sh or ksh under SCO OSR 5.x
ftp -n <<EOD
open <hostname>
connect anonymous  <user>@
cd <some dir>
prompt
mget <filename pattern>
bye
EOD
Уже не так давно, в Linux:
bash script
ftp -n <<EOD
open <hostname>
user <username>
<pass>
bin
prompt
mget ...
...
EOD
или же perl , модуль Net::FTP.
Срывая покровы
Дата: 02.02.2010 21:45:06
Лет двадцать как штатная фича есть http://docs.sun.com/app/docs/doc/816-5174/netrc-4?a=view

Я уж не говорю что в XXI веке передавать файло с паролям открытым текстом - не комильфо.
avb1003
Дата: 03.02.2010 06:44:08
Срывая покровы
Лет двадцать как штатная фича есть http://docs.sun.com/app/docs/doc/816-5174/netrc-4?a=view

Я уж не говорю что в XXI веке передавать файло с паролям открытым текстом - не комильфо.
Вот именно, что двадцать лет. А тридцать лет назад на БЭСМ-6 в ВЦ АН СССР вообще не было паролей.Вот отсюда url:
Configuring Files to Bypass Security
...
"CAUTION: The $HOME/.netrc file creates a significant security risk. It contains unencrypted passwords."
...
Пароль открытым текстом в скрипте - это, конечно, не секретно, но заставит хакера, взломавшего учетную запись, для поиска паролей рыться в скриптах, вместо просмотра одного, хорошо известного, файла. Иными словами: держать пароли в .netrc - это так же удобно, как хранитоь ключ от квартиры под ковриком у входной двери.
vasily_pupkin
Дата: 03.02.2010 10:19:21
Всем большое спасибо!
vasily_pupkin
Дата: 03.02.2010 10:26:19
а кто сталкивался с проблемой передачи по фтп папки? в папке до 10000 файлов, названия у каждого разные. теперь ищу вариант решения и для этого)))
vasily_pupkin
Дата: 04.02.2010 12:58:29
#!/bin/bash
currentdate=`date '+%d%m%Y'`
currentdate2=`date '+%Y_m%_%d.log.gz'`
cd /tmp/phrases/$currentdate
ftp hostname
cd phrases
mkdir $currentdate
cd $currentdate
prompt
mput *
bye
cd /tmp/logs
ftp hostname
cd logs
put $currentdate2
bye
exit 0

Сделал скрипт, после соединения по фтп останавливается выполнение - в чем может быть причина?
avb1003
Дата: 04.02.2010 17:28:43
vasily_pupkin
...
Сделал скрипт, после соединения по фтп останавливается выполнение - в чем может быть причина?
Наверное, какие-то особенности solaris . В Linux Ваш скрипт запускает ftp, который пишет все про себя на терминал и ждет комманд с него же. Чтобы он считывал комманды из скрипта, нужно сделать, так как уже говорилось:
#!/bin/bash
currentdate=`date '+%d%m%Y'`
currentdate2=`date '+%Y_m%_%d.log.gz'`
cd /tmp/phrases/$currentdate
ftp -n hostname <<EOD
cd phrases
mkdir $currentdate
cd $currentdate
prompt
mput *
bye
EOD
cd /tmp/logs
ftp -n hostname <<EOD
cd logs
put $currentdate2
bye
EOD
exit 0
Почитайте в руоводстве по bash раздел "Here Documents".
ineedyou
Дата: 04.02.2010 18:27:27
Может ну его, этот ftp? Может scp, а?