verificar arquivo de log se o status do trabalho não for iniciado

0

Eu gostaria de criar o shell script do Linux que lê um arquivo de log.

por exemplo Eu tenho arquivo de log com linhas:

Job: One(106) started.
Job: Two(107) started.
Job: Name(111) started.
Job: EXE(112) started.
Job: SMTG(117) started.
...........
.....
...

Eu quero criar scripts que verifiquem todos os trabalhos e enviem e-mails se o status do trabalho não for iniciado. O status do trabalho pode ser erro, bloqueado, parado e tudo mais. Não sei como escrever script para verificar exatamente se o status não foi iniciado.

    
por Paulius 12.12.2016 / 09:13

2 respostas

1

awk '$0!~/started/{print}' logfile | mail -s "Jobs not started" [email protected]
    
por 12.12.2016 / 09:37
0
grep -v 'Job:.*started.' yourfile.log | while read line; do
    # your not started line is here
    echo $line
done 

Pequena explicação: grep lerá seu arquivo e filtrará as linhas que correspondem a um padrão, portanto, não corresponderemos às tarefas iniciadas. Então você está lendo linhas não iniciadas, você pode substituir echo $line e enviar um email para lá.

    
por 12.12.2016 / 09:33