[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Ajuda....
From: |
opa |
Subject: |
Re: [shell-script] Ajuda.... |
Date: |
Tue, 27 Apr 2004 16:23:22 -0300 hrN |
Oi DM:
Parece que você está começando. Então provavelmente o que deseja
são soluções. Olhei rapidamente e acredito ter entendido, mais
ou menos, o que você pretende.
Nao estou muito certo que o arquivo de log como voce o coloca
seja uma boa opcao. Sem ter visao do resto nao dá para palpitar.
Ficar repetindo coisas fixas "Chegou ..." é péssimo.
O lugar para o log em /usr/... também me pareceu ruim.
Bem o mais importante é fazer funcionar, depois o resto você irá
sentindo, naturalmente, com o tempo.
Devido à extrema repetitibilidade tomei a liberdade de fazer
alterações profundas. Fiz rapidamente e podem ter faltado detalhes
estruturais, mas ainda assim, modestamente, acho que você deve
abandonar o seu e partir deste, ou de outro melhor que seja postado.
A minha experiência é apenas com o bash, lembre desse detalhe. :)
É só isto aqui:
------
#!/bin/sh
LISTA="CLIENTES CONTRATOS..."
chegou(){
echo $JA|grep -q ";${1:0:3};"||{
[ -f CBI_${1:0:3}* ]&&{
echo " Arquivos de $1 chegaram ">>/usr/rcvry/log/mon_cheg_arq.log
JA=$JA"${1:0:3};"
};};}
todos(){
for A in $LISTA;do
echo $JA|grep -q ";${A:0:3};"||return 1
done
}
cd /cbi/transfer/download
JA=';'
while ! todos;do
for A in $LISTA;do chegou $A;done
echo JA=$JA # so na fase de debug
sleep 360
done
------
Espero nao ter esquecido nada! :)
Se tiver problemas nao escreva só "nao funcionou". Ajude aqueles que
querem te ajudar, dando tantos detalhes e sintomas quanto possível.
Se houver dúvida como funciona procure "mexer" no script, ver o
efeito, etc., se ainda assim não resolver, pergunte.
Boa experimentação.
---------------------------------------------------------------------
>From: "digomiranda2003" <address@hidden>
>Date: Mon, 26 Apr 2004 10:33:01 -0000
>
>Amigos, preciso fazer um scrip ler se alguns arquivo chegaram em
>determinada pasta e através de monitoração no log começar outro
>passo, mas o script que fiz está dando o seguinte erro:
>../mon_cheg_arq.sh
>Unmatched `.
>alguem pode me dar uma luz por favor..??
>
>#!/usr/bin/csh -fb
>
>cd /cbi/transfer/download
>
>set a=0
>set b=0
>set c=0
>set d=0
>set e=0
>
>
>while (( $a == 0 || $b == 0 || $c == 0 || $d == 0 || $e =
>= 0 ))
>
>arqcli=`ls -l |grep CBI_CLI* | wc -l'
>if (( $arqcli != 0 )) then
>echo " Arquivos de CLIENTES chegaram "
>>& /usr/rcvry/log/mon_cheg_arq.log
>$a++
>
>arqcontr=`ls -l |grep CBI_CON* | wc -l'
>if (( $arqcontr != 0 ));then
>echo " Arquivos de CONTRATOS chegaram "
>>>& /usr/rcvry/log/mon_cheg_arq.log
>$b++
>
>arqprest=`ls -l |grep CBI_PRT* | wc -l'
>if (( $arqprest != 0 )) then
>echo " Arquivos de PRESTACOES chegaram "
>>>& /usr/rcvry/log/mon_cheg_arq.log
>$c++
>
>arqava=`ls -l |grep CBI_AVA* | wc -l'
>if (( $arqava != 0 )) then
>echo " Arquivos de AVALISTAS chegaram "
>>>& /usr/rcvry/log/mon_cheg_arq.log
>$d++
>
>arqfin=`ls -l |grep CBI_FIN* | wc -l'
>if (( $arqfin != 0 )) then
>echo " Arquivos de FINANCEIRO chegaram "
>>>& /usr/rcvry/log/mon_cheg_arq.log
>$e++
>
>fi
>
>sleep 360
>
>done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] Ajuda....,
opa <=