shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] uma 'luz' com script de FTP


From: Rodolfo Villanova
Subject: RES: [shell-script] uma 'luz' com script de FTP
Date: Mon, 13 Sep 2004 11:27:04 -0300

Marcelo,

Porque tu não usa o comando "mput *.txt" ao invés do "put *.txt" ?

--------------------------
Rodolfo D. Gross Villanova


> -----Mensagem original-----
> De: Marcelo [mailto:address@hidden]
> Enviada em: sexta-feira, 10 de setembro de 2004 23:18
> Para: address@hidden
> Assunto: [shell-script] uma 'luz' com script de FTP
>
>
> Olá Pessoal,
>
> Como eu nunca mandei nada para a lista, deixa antes eu me apresentar:
>  Trabalho com web há muuuito tempo (desde quando ela nao existia) e
> hoje trabalho com Java/J2EE. Nunca tinha precisado me aventurar com
> Shell Script, mas como tudo tem sua primeira vez, chegou a minha  ;-)
> Mas nem sempre os arquivos e as pesquisas na web ajudam...e para isso
> existem os amigos da lista  :)
>
> Meu problema é o seguinte:
>
> Tenho um diretório em que por minuto são depositados vários arquivos
> (mais de 500) e a tarefa do script é enviar esses arquivos por FTP e
> excluir eles logo após o envio. Arquivos chegam nesse dir inclusive
> enquanto estou fazendo o FTP deles.
>
> Para isso, pensei no seguinte fluxo:
>
> - gerar uma lista com os arquivos do dir;
> - envia cada arquivo dessa lista em uma unica conexao FTP;
> - apagar os arquivos dessa lista.
>
> Fácil, né?  Mas na hora do script não saiu como imaginava.
> Olhe abaixo:
>
> #!/bin/sh
>
> INPUTDIR=/tmp/direntrada
> REMOTEDIR=/tmp/dirsaida
> touch ftp_transfer.lock
> echo "Criando lista de arquivos..."
> for ARQ in `ls -t *.txt`
> do
>    echo $ARQ >> ftp_transfer.lock
> done
>
> echo "Inciando transmissao FTP..."
> ftp -n $HOST <<END_SCRIPT
> quote USER $USER
> quote PASS $PASSWD
> cd $REMOTEDIR
> put *.txt       <<<atencao a esta linha>>>
> quit
> END_SCRIPT
>
> echo "fim da transmissao"
>
> echo "inicio da exclusao..."
> for ARQ in `cat ftp_transfer.lock`
> do
>    rm $ARQ
> done
> rm ftp_transfer.lock
> exit 0
>
>
> A criacao e a exclusao dos arquivos na lista funciona bem.
> O que eu preciso -e nao consigo fazer-  é colocar um loop para fazer
> um "put" de cada arquivo na lista dentro do script do FTP..tentei um
> simples for, abrir um subprocesso, mas tudo sem sucesso.
>
> Alguém poderia dar uma luz para algo tao simples, mas tão difícil para
> um principiante em shell script?
>
>
> []´s,
> Marcelo Leite
>
>
>
> ---------------------------------------------------------------------
> 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









reply via email to

[Prev in Thread] Current Thread [Next in Thread]