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

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

uma 'luz' com script de FTP


From: Marcelo
Subject: uma 'luz' com script de FTP
Date: Sat, 11 Sep 2004 02:18:21 -0000
User-agent: eGroups-EW/0.82

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


reply via email to

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