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

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

Re: Ajuda....


From: digomiranda2003
Subject: Re: Ajuda....
Date: Tue, 27 Apr 2004 18:55:11 -0000
User-agent: eGroups-EW/0.82

Consegui o que queria, obrigado pela ajuda de todos... consegui com o 
seguinte script:

#!/bin/sh -x 

cd /cbi/transfer/download

a=0
b=0
c=0
d=0
e=0


while [ $a -eq 0 -a $b -eq 0 -a $c -eq 0 -a $d -eq 0 -a $e -eq 
0  ] ;do

x=`ls -1 CBI_CLI*  2>/dev/null | wc -l`
if [ $x -ne 0 ] ; then
echo "Arquivos de CLIENTES chegaram" 
>/usr/rcvry/log/arquivos_chegada.log
a=$[ $a + 1 ]
fi

x=`ls -1 CBI_CBI_CON*  2>/dev/null | wc -l`
if [ $x -ne 0 ] ; then
echo "Arquivos de CONTRATOS chegaram" 
>>/usr/rcvry/log/arquivos_chegada.log
b=$[ $b + 1 ]
fi     

x=`ls -1 CBI_PRT*  2>/dev/null | wc -l`
if [ $x -ne 0 ] ; then
echo "Arquivos de PRESTACOES chegaram" 
>>/usr/rcvry/log/arquivos_chegada.log
c=$[ $c + 1 ]
fi                                  

x=`ls -1 CBI_AVA*  2>/dev/null | wc -l`
if [ $x -ne 0 ] ; then
echo "Arquivos de AVALISTA chegaram" 
>>/usr/rcvry/log/arquivos_chegada.log
d=$[ $d + 1 ]
fi                                                 

x=`ls -1 CBI_CBI_FIN*  2>/dev/null | wc -l`
if [ $x -ne 0 ] ; then
echo "Arquivos de FINANCEIRO chegaram" 
>>/usr/rcvry/log/arquivos_chegada.log
e=$[ $e + 1 ]
fi                                                               


sleep 180
done

Sobre as duvidas levantadas pelo Leogildo

1) um local padrão para verificação - é onde posciono no começo do 
scprit
2) a frequência de verificação - automatico, startado pela cron

3) a forma de verificação - arquivos específicos (CBI_...)

4) regras para verificação de integridade - sem regras...

5) o layout do arquivo de LOG - sem layout, ao final do script sera 
startado outro passo.

Agradeço a ajuda novamente de todos
valeu!


--- Em address@hidden, "leogildo_silva" 
<leogildo_silva@y...> escreveu
> ...se a sua necessidade é verificar a chegada de arquivos, como 
> primeiro passo eu sugeriria:
> 
> Definir
> -------
> 1) um local padrão para verificação (ex. /home/download)
> 2) a frequência de verificação (intervalo de tempo / calendario)
> 3) a forma de verificação (genérico ou restrito)
> ---Genérico: arquivos diversos
> ---Restrito: arquivos específicos (lista de arquivos)
> 4) regras para verificação de integridade
> 5) o layout do arquivo de LOG (nome, data, hora, bytes, etc, ...)
> 
> Vamos raciocinar um pouco...
> 
> Na primeira execução do "loop" se o script encontrar algum arquivo, 
> este vai ser registrado em LOG certo?
> 
> Qual o critério utilizado para efetuar o registro em LOG?
> 
> Digamos que no momento exato da execução do script, a transferência 
> do arquivo ainda esteja em andamento. O que deve ser feito neste 
> caso? 
> 
> A partir da segunda execução, teremos que administrar um novo 
> problema, caso o arquivo registrado anteriormente ainda esteja 
> catalogado no diretório padrão. O que fazer?
> 
> Pense um pouco a respeito, talvez a solução não seja tão simples...
> 
> 
> Bye,
> 
> Leogildo da Silva
> Analista de Produção
> 
> 
> --- Em address@hidden, "digomiranda2003" 
> <digomiranda2003@y...> escreveu
> > Então, o que eu quero é somente que o script faça um looping para 
> > verificar a chegadas dos arquivos, e jogue a saida para o log, e 
so 
> > termine o looping quando todos os arquivos chegarem..só isso..
> > 
> > --- Em address@hidden, Miranda <umiranda@l...> 
> > escreveu
> > > Claro . Coloca o problema inicial aqui.
> > > O que exatamente você está pretendendo fazer ?
> > > Entendi por alto que você conta
> > > o numero de arquivos de um certo tipo que chegaram
> > > mas o que se pretende com essa linha ?
> > > >& /usr/rcvry/log/mon_cheg_arq.log
> > > 
> > > On Monday 26 April 2004 13:45, digomiranda2003 wrote:
> > > > Então, o problema das aspas e crases eu já tinha me ligado 
> depois 
> > que
> > > > mandei a pergunta, e arrumei, só que mesmo assim continua 
dando 
> > erro,
> > > > acho que é porque to misturando o csh, com o sh, isso porque 
eu 
> to
> > > > começando a programar em shell e ainda não to acostumado, 
sera 
> que
> > > > alguem poderia me dau uns toques , porque se funcionar em 
pelo 
> > menos
> > > > uma das versões de shell pra mim já tava bom...
> > > >
> > > > --- Em address@hidden, Felipe Kellermann
> > > > <stdfk@t...> escreveu
> > > >
> > > > > On Mon, 26 Apr 2004 12:33pm  -0300, Miranda wrote:
> > > > > > não sei se é o único erro
> > > > > > pois estou vendo algumas coisas que não compreendo aí
> > > > >
> > > > > Ele está misturando a sintaxe `csh' com a que nós usamos, 
> `sh'.
> > > > > A `csh' deve ser evitada para scripting.  Apesar de ter 
sido 
> > feita
> > > >
> > > > pelo
> > > >
> > > > > maior mestre da computação e apesar de ter adicionado bons
> > > >
> > > > conceitos na
> > > >
> > > > > idéia de shell, nunca foi um shell recomendado para 
scripting.
> > > > >
> > > > > Alguns dos argumentos dessa questão podem ser encontrados 
> aqui:
> > > > > "Csh Programming Considered Harmful"
> > > > > http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
> > > > >
> > > > > > > #!/usr/bin/csh -fb
> > > > > > >
> > > > > > > cd /cbi/transfer/download
> > > > > > >
> > > > > > > set a=0
> > > > > > > set b=0
> > > > > > > set c=0
> > > > > > > set d=0
> > > > > > > set e=0
> > > > >
> > > > > Começou bem com csh...
> > > > >
> > > > > > > while (( $a == 0 || $b == 0 || $c == 0 || $d == 0 || $e 
> == 
> > 0 ))
> > > > >
> > > > > Nem bem csh, nem bem sh...
> > > > >
> > > > > > > arqcli=`ls -l |grep CBI_CLI* | wc -l´
> > > > >
> > > > > Aqui tem o erro que tu falou.  Mas de qualquer jeito, não é 
> > sintaxe
> > > >
> > > > csh.
> > > >
> > > > > > > if (( $arqcli != 0 )) then
> > > > > > > echo " Arquivos de CLIENTES chegaram "
> > > > >
> > > > > Mais uma mistura.
> > > > >
> > > > > > > >& /usr/rcvry/log/mon_cheg_arq.log
> > > > > > >
> > > > > > > $a++
> > > > >
> > > > > Não conheço.  Nenhuma das duas expressões.
> > > > > Mas sei que não são nem csh nem sh.
> > > > > (continua, mesmos comentários ...)
> > > > >
> > > > > --
> > > > > Felipe Kellermann
> > > >
> > > > --------------------------------------------------------------
--
> --
> > ---
> > > > 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
> > > > Para visitar o site do seu grupo, acesse:
> > > >  http://br.groups.yahoo.com/group/shell-script/
> > > >
> > > > Para sair deste grupo, envie um e-mail para:
> > > >  address@hidden
> > > >
> > > > O uso que você faz do Yahoo! Grupos está sujeito aos:
> > > >  http://br.yahoo.com/info/utos.html


reply via email to

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