The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Se Então Else Logic jadionne UNIX para Dummies Perguntas & Respostas 7 11-23-2007 04:27
can't get a lógica dineshr85 Programação Shell Script e 3 10-11-2007 08:34
Script não funciona, mas dentro comandos trabalho cheongww UNIX para Dummies Perguntas & Respostas 2 11-14-2006 10:52
Automatizado para FTP diretório variável com erro check songtam UNIX para Dummies Perguntas & Respostas 3 04-10-2006 10:57
VERIF.ESTADO Automatizado de FTP anijog Programação Shell Script e 5 03-04-2004 02:30

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-01-2008
senthilkumar_ak senthilkumar_ak is offline
Usuário
  
 

Join Date: Aug 2008
Localização: Chennai
Lugares: 43
Necessidade lógica de verificação automática de trabalho ou trabalhar em awk SED.

Tenho um programa Java, que irá automaticamente acionar algum trabalho agendado para atualizar Db ou algum outro trabalho. Estou acompanhando o trabalho diário com mensagens e descobrir que é executado corretamente ou não. Quero escrever um script para capturá-lo corretamente no tempo.

Diga Job1 está sendo executado em 15, 30 e 45 a cada hora, então ele deixa uma entrada no arquivo de log que "JOB1 é começar". Tal como este.

Exemplo de meios 11:00 horas --

Trabalhador # Scheduler_Worker-3: 23:15:56 105 SendToCM: run () Entrada

onde "SendToCM: run () Entrada" log começando mensagem que programa Java escrever no diário mensagem, '23:15:56'É o tempo. Eu preciso verificar a última hora 15, 30, 45 min arquivos de log para descobrir a entrada ou não é o seu íntimo, então eu via e-mail para mim.

Tenho uma lógica, mas não testou ainda. Durante 15 min estou verificando com sed como este,

sed -n "/: $ h: 15:00 /, /: $ h: 15:01 / p" schedulerTrace. log> Job1.log

$ h aqui contém a hora actual e no job1.log estou verificando novamente como

count \u003d grep-c "SendToCM: run () A entrada" Job1.log.

se então a contagem é zero JOB1 não correu e eu preciso verificar excepção.
Mas esta lógica é muito oblíquo para mim. Poderia-me por favor ajudem-me em descobrir uma lógica correta para isso.

Atenciosamente,
Senthilkumar.
  #2 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Localização: Sydney, Austrália
Posts: 1.009
Por que não podemos ignorar o segundo componente completamente e faça algo como:


Código:
if grep -q ": $h:15.*SendToCM: run()" schedulerTrace.log
then
      echo job did run
else
      echo job did not run
fi


Última edição por Annihilannic; em 09/01/2008 03:46.. Motivo: Esqueceu a SendToCm parte
  #3 (permalink)  
Old 09-01-2008
senthilkumar_ak senthilkumar_ak is offline
Usuário
  
 

Join Date: Aug 2008
Localização: Chennai
Lugares: 43
Fantastic Annihilannic,

obrigado pela sua sugestão. Só mais uma coisa.

É possível para mim para checar todos os 15, 30,45 entires em um grep ou gostaria de usar um separte um.

Senthil
  #4 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Localização: Sydney, Austrália
Posts: 1.009
Então ... pretende executar o cheque só uma vez por hora e veja se ele foi executado três vezes?


Código:
if [[ "$(grep -Eqc ": $h:(15|30|45):.*SendToCM: run\(\)" schedulerTrace.log)" -eq 3 ]]
then
      echo job did run 3 times in the hour
else
      echo job did not run 3 times in the hour
fi

Eu estou partindo do princípio de que há apenas um dia do vale de postos de trabalho no registro, caso contrário, é claro que você irá coincidir com a do dia anterior empregos também.
  #5 (permalink)  
Old 09-04-2008
senthilkumar_ak senthilkumar_ak is offline
Usuário
  
 

Join Date: Aug 2008
Localização: Chennai
Lugares: 43
Pois sim você está certo, os arquivos de log contém apenas um dia logs. Mas com esta condição i vai ser verificar o trabalho quando não correu, por isso pouco modificada e utilizada como este, por favor, deixe-me saber se fez alguma coisa errada.

# Loop para verificar a Job1 <Send Para CM iniciado corretamente ou not>
if [$ 1 min-ge-o $ min-lt 30]; então
count \u003d `grep-ic": $ hora: 01 .* SendToCM: Início: "$ LogPath»
elif [$ 30 min-ge-o $ min-le 59]; depois
count \u003d `grep-ic": $ hora: 30 .* SendToCM: Início: "$ LogPath»
fi
if [$ count-eq 0]; então
echo-e "\ nO Job1 Enviar Para CM não é iniciado como schdueld no 1 º e 30">> mail.log
fi

i will mail mail.log, finalmente, após a verificação de outros empregos demasiado
  #6 (permalink)  
Old 09-04-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Localização: Sydney, Austrália
Posts: 1.009
Não vejo nada obviamente errado aí.
Closed Thread

Marcadores

Tags
awk, grep ou, sed

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 08:53.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0