[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] ftp
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] ftp |
Date: |
Thu, 21 Oct 2004 12:07:20 -0300 |
Eduardo de Paula Neves (legal, lá em casa tem uma hacker Paula Neves :)
O que vc deseja é possível, e é feito desta maneira:
read -p "Login Name na Máquina Remota: " LName
read -sp "Senha: " Pw
ftp -ivn ftp.unicamp.br << FimFtp > /dev/null 2>&1
user $LName $Pw # Para não expor a senha
bin
mput *
by
FimFtp
Porém, desta forma vc perde o controle do que está sendo transmitido e não
sabe se ocorreu algum erro. Por isso eu costumo fazer o que vc pediu com um
script +/- assim:
read -p "Login Name na Máquina Remota: " LName
read -sp "Senha: " Pw
for Arq in *
do
ftp -ivn ftp.unicamp.br << FimFtp > /tmp/$$ 2>&1
user $LName $Pw # Para não expor a senha
bin
put $Arq
by
FimFtp
grep ^226 /tmp/$$ > /dev/null || echo Pau na transmissão
done
Qdo uma transmissão é bem sucedida o ftp te dá a seguinte msg:
226 Transfer complete.
Por isso eu fiz o grep.
Ihh gente! Estou ficando gagá! só agora que vi que o Eduardo queria pegar
arquivos de um diretório público e não mandar um arquivo. Mas assim mesmo
deixo o meu modo de trabalhar e acrescento que no caso de fazer um get e não
um put, eu faço da mesma maneira, porém faço um ftp anterior para pegar o
conteudo do diretório. Veja:
read -p "Login Name na Máquina Remota: " LName
read -sp "Senha: " Pw
ftp -ivn ftp.unicamp.br << FimFtp > /dev/null 2>&1
user $LName $Pw # Para não expor a senha
ls . Arqs
by
FimFtp
# Neste momento eu tenho um ls -l do diretoio
# da unicamp no meu arquivo local Arqs.
# Vamos fazer o for cortando o desnecessário:
for Arq in $(tr -s " " < Arqs | cut -f9 -d" ")
do
ftp -ivn ftp.unicamp.br << FimFtp > /tmp/$$ 2>&1
user $LName $Pw # Para não expor a senha
bin
put $Arq
by
FimFtp
grep ^226 /tmp/$$ > /dev/null || echo Pau na transmissão
done
Sem dúvida alguma, estes processos com for são bem mais demorados que os
feitos com mput ou mget, porém na minha instalação, é muito mais importante
a qualidade do que a velocidade. Fica na lista a minha dica.
Sucesso,
Julio Cezar Neves
- Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
| -----Mensagem original-----
| De: eduardo de paula neves [mailto:address@hidden]
| Enviada em: quarta-feira, 20 de outubro de 2004 23:13
| Para: address@hidden
| Assunto: [shell-script] ftp
|
|
|
| é possivel um script que baixe todos os arquivos de um ftp?
|
| por exemplo
|
| open
| ftp.unicamp.br
| anymous
| anymous
|
| cd pub
| get *.*
|
| ??
|
| Grato
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] ftp,
Julio Cezar Neves - DATAPREVRJ <=