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

Исходное сообщение
"загружать файл на ftp из командной строки Linux"

Отправлено mmm , 02-Июн-11 15:07 
Добрый день!
Надо из скрипта выгружать файл на ftp
Во freeBSD: /usr/bin/ftp -u ftp://myuser:mypass@my.server.ip.address/ myfile
В debian-е никак не соображу. Подскажите пожалуйста.

Содержание

Сообщения в этом обсуждении
"загружать файл на ftp из командной строки Linux"
Отправлено Etch , 02-Июн-11 17:06 
Лучше всего заюзать scp, если есть ssh. Если нет - попробуйте с lftp поколдовать.

"загружать файл на ftp из командной строки Linux"
Отправлено Andrey Mitrofanov , 02-Июн-11 18:43 
> Добрый день!
> Надо из скрипта выгружать файл на ftp
> Во freeBSD: /usr/bin/ftp -u ftp://myuser:mypass@my.server.ip.address/ myfile
> В debian-е никак не соображу. Подскажите пожалуйста.

Поиск по пакетам -
   http://packages.debian.org/search?suite=default§ion=all&...
или
   $ aptitude search ftp upload
"находят" всякие wput, ftp-upload, curl, sitecopy, python-ftputil, fatrat, и т.д., и т.д.

https://www.opennet.ru/openforum/vsluhforumID1/88121.html#2


"загружать файл на ftp из командной строки Linux"
Отправлено ACCA , 02-Июн-11 18:45 
curl -T myfile -u myuser:mypass ftp://my.server.ip.address/myfile
ncftpput

А вообще да - ftp плохая идея, используй scp.



"загружать файл на ftp из командной строки Linux"
Отправлено Дядя_Федор , 02-Июн-11 22:29 
> А вообще да - ftp плохая идея, используй scp.

Нормальная идея.
Вот работающий скрипт.
FTP_USERNAME="user"
FTP_PASSWD="pass"
FTP_SERVER=IP
FTP_DIR=backup
send=file_name
send2=filename2
ftp -in $FTP_SERVER <<EOF
user $FTP_USERNAME $FTP_PASSWD
bin
prompt
cd $FTP_DIR
mput $send $send2
bye
EOF


"загружать файл на ftp из командной строки Linux"
Отправлено mmm , 03-Июн-11 08:33 
Всем спасибо, нашел на perl:
http://perldoc.perl.org/Net/FTP.html

use Net::FTP;
$ftp = Net::FTP->new("some.host.name", Debug => 0)
or die "Cannot connect to some.host.name: $@";
$ftp->login("anonymous",'-anonymous@')
or die "Cannot login ", $ftp->message;
$ftp->cwd("/pub")
or die "Cannot change working directory ", $ftp->message;
$ftp->get("that.file")
or die "get failed ", $ftp->message;
$ftp->quit;

Работает.