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