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

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

Re: [shell-script] Script leitura de log rodando duas vezes


From: Julio Cardoso
Subject: Re: [shell-script] Script leitura de log rodando duas vezes
Date: Fri, 18 Oct 2019 19:35:13 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

Olá Chará.
Muito obrigado pelo apoio , tu é um cara único.
Abraço bom fim de semana.
Em 11/10/2019 19:34, 'Julio C. Neves' address@hidden [shell-script] escreveu:
 
Q seu problema é que o grep imprime a linha que casou e depois vc manda imprimir. Vou rearrumar seu código para otimizá-lo.

while read line
do
        if grep -Fq "authentication failure" <<< $line
        then
                echo  "$line"
        fi
done < <(journalctl -f -n1)

Esse primeiro foi para otimizar a tua lógica, mas eu faria simplesmente:

journalctl -f -n1 | grep -F "authentication failure"

Abraços,
Julio

» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
» Em outubro abriremos uma semana de inscrições
» para uma nova turma. Veja mais detalhes em:

Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.







Em sex, 11 de out de 2019 às 18:59, Julio Cardoso address@hidden [shell-script] <address@hidden> escreveu:
 

Boa Noite

Tenho um script lendo o log através do journalctl e quando executo o
mesmo ele roda curiosamente duas vezes.

Então quando encontra a palavra failure ele exibe duas vezes a menagem 
duas vezes pois existem duas instancias do processo.

julio     2182  0.0  0.0  12892  3124 ?        S    10:57 faillog.sh
julio     2185  0.0  0.0  13004  2132 ?        S    10:57 faillog.sh

no exemplo

out 11 10:59:05 julio- sudo[3210]: pam_unix(sudo:auth): authentication
failure; logname=julio uid=1000 euid=0 tty=/dev/pts/4 ruser=julio rhost=
user=julio

out 11 10:59:05 julio- sudo[3210]: pam_unix(sudo:auth): authentication
failure; logname=julio uid=1000 euid=0 tty=/dev/pts/4 ruser=julio rhost=
user=julio

O código fonte :

journalctl -f -n1 | \
while read line ; do

#
#echo "$line"

        echo "$line" | grep "authentication failure"
        if [ $? = 0 ]
        then
                echo  "$line"

        fi

done



reply via email to

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