The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт в bash"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Скрипт в bash"  +/
Сообщение от 13th_Apostol (ok) on 01-Фев-10, 16:44 
Необходима рабочая команда.
Есть вывод команды, который нужно потоком лить на ftp, без временных файлов.
например
anyprogram | echo  "put -passwd" | ftp -a localhost
anyprogram - выдает инфу, которую нужно динамично лить на ftp
Вариант с временными файлами не подходит из-за огромного объема файлов (около 50 гб).
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Скрипт в bash"  +/
Сообщение от tee on 02-Фев-10, 00:01 
>Необходима рабочая команда.
>Есть вывод команды, который нужно потоком лить на ftp, без временных файлов.
>
>например
>anyprogram | echo  "put -passwd" | ftp -a localhost
>anyprogram - выдает инфу, которую нужно динамично лить на ftp
>Вариант с временными файлами не подходит из-за огромного объема файлов (около 50
>гб).

^ а так что? Может какую вариацию fifo использовать (разрешитьт записывать лишь определённый объём информации. Т.е. записали 1 мегабайт - ftp прочёл, только потом записали 2 мегабайт - ftp прочёл... но тгда ограничивается скорость). И почему BASH, может что-то другое?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Скрипт в bash"  +/
Сообщение от ACCA (ok) on 02-Фев-10, 06:51 
FTP - очень плохая идея по многим причинам. rsh+Kerberos или даже ssh или даже просто rsh сильно лучше.

Формально вопрос решается с помощью Perl Net::FTP

use Net::FTP;
my $remote_filename='remote_file';
my $ftp = Net::FTP->new('server.address', Debug => 0);
$ftp->login("first_server_username","first_server_password");
$ftp->put(\*STDIN,$remote_filename) || die "Upload from STDIN to $remote_filename failed\n";

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Скрипт в bash"  +/
Сообщение от sproot (ok) on 07-Фев-10, 10:48 
>Необходима рабочая команда.
>Есть вывод команды, который нужно потоком лить на ftp, без временных файлов.
>
>например
>anyprogram | echo  "put -passwd" | ftp -a localhost
>anyprogram - выдает инфу, которую нужно динамично лить на ftp
>Вариант с временными файлами не подходит из-за огромного объема файлов (около 50
>гб).

sproot@matrix:~$ ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.7)
331 Please specify the password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls pub/otchet.xls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> quit
221 Goodbye.
sproot@matrix:~$                          
sproot@matrix:~$ cat .netrc
machine localhost
login anonymous
password bla-bla-bla@smile.com

sproot@matrix:~$
sproot@matrix:~$ ftp localhost <<FTP
> cd pub
> put "|cat ~/otchet.xls" otchet.xls
> FTP

sproot@matrix:~$ ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.7)
331 Please specify the password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls pub/otchet.xls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-------    1 1000     65534       96768 Feb 07 07:43 otchet.xls
226 Directory send OK.
ftp> quit
221 Goodbye.
sproot@matrix:~$


Создать список файлов, думаю, проблем не составит.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру