URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 10493
[ Назад ]

Исходное сообщение
"Неинтерактивная передача файлов по FTP"

Отправлено Serg , 21-Ноя-01 15:38 
Подскажите пожалуста как организовать неинтерактивную передачу файлов по FTP между двумя
серверами под Sоlaris. Уточняю: как ftp клиенту
задать пакетный перечень команд которые он должен выполнить ? Под W98 я делал так:
ftp -i -n -s:batch.file  hostname,
но в Solaris нет ключа -s ?

Содержание

Сообщения в этом обсуждении
"RE: Неинтерактивная передача файлов по FTP"
Отправлено Арлекин , 21-Ноя-01 15:49 
Я скачал с Сети пакет ncftp 3.0.3, собрал его в соляре и все дела. В нем есть утилиты пакетной передачи ncftpput и ncftpget. Работает как часы.

"RE: Неинтерактивная передача файлов по FTP"
Отправлено lavr , 21-Ноя-01 15:56 
>Подскажите пожалуста как организовать неинтерактивную передачу
>файлов по FTP между двумя
>
>серверами под Sоlaris. Уточняю: как ftp
>клиенту
>задать пакетный перечень команд которые он
>должен выполнить ? Под W98
>я делал так:
>ftp -i -n -s:batch.file  hostname,
>
>но в Solaris нет ключа -s
>?

а для стандартного клиента, можно написать
разнообразные по исполнению скрипты, например:

-------------------- myftp ---------------------
#!bin/sh
ftp hostname < ftp.in &> ftp.out &
------------------------------------------------

chmod 755 myftp

-------------------- ftp.in --------------------
verbose
bin
prompt
lcd <local_dir_wehere_is_our_archive>
cd <remote_dir>
put filename-1
put filename-2
get filename-3
dir
quit
------------------------------------------------

в ftp.out будут логи


"Файл .netrc"
Отправлено Vlad , 23-Ноя-01 11:08 
для передачи по пакету или закачки в стандарте Unix используется файл .netrc, который должен находится в каталоге юзера от имени которого инициируется прием или передача. Структура файла такова:

machine 192.168.0.8
login user1
password uuuuu
macdef init
binary или ascii
lcd
mput * * или mget * * или get file1 или put file1
.....
quit

и так для каждого IP на который ты заливаешь или скачиваешь, только для каждого свой macdef - то есть это имя макроса

Внимательно читай man по команде ftp. там все команды указаны. Да, не забудь дать файлу .netrc chmod 600 иначе все увидят твои пароли