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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.