[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
- Re: Re[2]: [shell-script] grep, (continued)
- RES: [shell-script] Ajuda...., Rodolfo Villanova - TmS Brasil, 2004/04/26
- Re: [shell-script] Ajuda...., Miranda, 2004/04/26
- Re: [shell-script] Ajuda...., Felipe Kellermann, 2004/04/26
- Re: Ajuda...., digomiranda2003, 2004/04/26
- Re: [shell-script] Re: Ajuda...., Miranda, 2004/04/26
- Re: Ajuda...., digomiranda2003, 2004/04/27
- Re: [shell-script] Re: Ajuda...., Miranda, 2004/04/27
- Re: Ajuda...., leogildo_silva, 2004/04/27
- Re: Ajuda....,
digomiranda2003 <=