LINUX.ORG.RU

script (bash,ftp)


0

0

Здраствуйте.

Нужно написать скрипт для отправки файла на ftp сервер, где логин anonymous и пароля нету. Как такое можно провернуть?

Спасибо

★★★

Ответ на: комментарий от phoenix

Не, дело в том что он запрашивает пароль, которого нету, ну то есть Enter мне нужно нажать, а как это сделать из скрипта?

fura13 ★★★
() автор топика
Ответ на: комментарий от phoenix

Нет, пустая строка не помогает, скачать wput можно, но как то не спортивно (не unix-way).

fura13 ★★★
() автор топика

как вариант, использовать expect

logIN
()
Ответ на: комментарий от fura13

> Не, дело в том что он запрашивает пароль, которого нету, ну то есть Enter мне нужно нажать, а как это сделать из скрипта?

man ftp и поискать на предмет файла .netrc - туда можно записать
login/password.

Или использовать скажем lftp - там можно дать login/password
в командной строке, кроме того он поддерживает скриптинг.

Ну или на Perl написать ма-аленький скрипт с использованием Net::FTP -
будет работать везде, где есть perl.

HTH

Onanim
()
Ответ на: комментарий от Onanim

Вдогонку: у .netrc надо убрать permission на чтение/запись у other,
иначе (по соображеним security) и не будет использоваться.

Onanim
()
Ответ на: комментарий от fura13

send_file() {
echo put $1 | ftp -v "ftp://$login:$pass@$ftp" 2>/dev/null |grep -E "226 Transfer complete" >/dev/null 2>&1
if [ ${?} -eq 0 ];then
upload=`expr $upload + 1`
return 0
else
failed=`expr $failed + 1`
return 1
fi
}

anonymous
()
Ответ на: комментарий от anonymous

Протестируйте когда $pass - равен пустой строке. Скрипт будет работать только для юзеров с паролями.

fura13 ★★★
() автор топика

>где логин anonymous и пароля нету

А точно пароля нет?

Насколько я помню для anounymous паролем является e-mail адрес. Так что можно попробовать передавать вместо пароля xто-то типа john@usa.net

Vinick ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.