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

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

Re: [shell-script] Monitorar logs


From: Jeferson Santos
Subject: Re: [shell-script] Monitorar logs
Date: Sat, 4 Jul 2009 09:53:11 -0300

"tail -n <numero>" serve para mostrar as ultimas <numero> linhas de um
arquivo.
No caso d tail -n 0 isso não vai retornar bulhufas.

Não querendo ser arrogante, até pq compartilhar conhecimento é o foco daqui,
mas antes de simplesmente perguntar, abra o terminal e fuce ( por segurança,
so nao faça testes indiscriminadamente com o rm, ok? :-p )

tail -n 0
tail -n 1
tail -n 2
tail -n 3

Dessa forma vc veria o resultado com os proprios olhos, que é bem mais
objetivo ne.

Abraços,
Jeferson dos Santos

2009/7/4 <address@hidden>

>
>
>  Bom dia.
> Você sabe o que quer dizer "tail -n 0"?
> sds
> Eric
> On Sex 3/07/09 16:59 , Daniel Fernando Coimbra 
> address@hidden<rufozc%40gmail.com>
> sent:
>
> Olá pessoal, estou fazendo um pequeno script para monitorar as
> entradas
> de log feitas pelo iptables. Quando executo o script para testar nos
> logs já existentes (removendo o "tail" e complementando o "grep"
> com o
> caminho do arquivo) a execução é perfeita e me dá as
> informações como
> esperado. No entanto, ao executá-lo como segue abaixo, para que a
> monitoração seja em "tempo real" não há qualquer saída, embora
> os logs
> estejam sendo modificados.
> Não há qualquer aviso de erros na execução e não faço idéia
> do que pode
> estar errado! Os logs estão sendo gerados e contém as strings
> "Firewall
> - ${INFO}:", suspeito que o meu uso do "tail -f" esteja errado mas
> não
> consegui descobrir qual seria a correção...
> Agradeço muito se puderem me auxiliar.
> (o arquivo color-definitions.sh contém apenas definição de
> variáveis com
> strings de cores e por isso não o inclui)
> ---- monitor.sh ----
> source color-definitions.sh
> U='e[4m'
> sudo echo "Iniciando Monitor... `date`" || exit 1
> sudo tail -n 0 --follow=name /var/log/syslog | grep Firewall | while
> read Mon Day Time Host lixo lixo lixo LOGNAME DEV_IN DEV_OUT MAC SRC
> DST
> LEN TOS PREC TTL ID LINELOG
> do
> TIMELINE=" @$Time-$Day/$Mon"
> PROTO=`echo $LINELOG | cut -d= -f2 | cut -d' ' -f1`
> S=`echo $SRC | cut -d= -f2`
> SP=`echo $LINELOG | cut -d= -f3 | cut -d' ' -f1`
> D=`echo $DST | cut -d= -f2 | cut -d' ' -f1`
> DP=`echo $LINELOG | cut -d= -f4 | cut -d' ' -f1`
> LINE=$(echo $LINELOG | cut -d= -f6- | cut -d' ' -f2 | tr -d ' ')
> case $LOGNAME in
> 'PING:')
> if [ "$S" == "192.168.0.1" ]
> then
> C=$LGREEN
> else
> C=$YELLOW
> fi
> echo -e "${RED}PING${NORM} from ${C}${S}${NORM}$TIMELINE"
> ;;
> 'SPOOFING:')
> echo -e "${YELLOW}${U}SPOOFING${NORM} $S:$SP:$DP:D
> ${LINE}$TIMELINE"
> ;;
> 'INPUT:')
> if [ "`echo $D | cut -d. -f4`" == "255" ]
> then
> if [ "$S" == "0.0.0.0" ]
> then
> S=`echo $MAC | cut -d: -f7-`
> fi
> MSG="${BROWN}BROADCAST${NORM} from ${U}${S}"
> else
> MSG="${BLUE}INPUT${NORM} from ${U}${S}"
> fi
> echo -e "${MSG}${NORM} ${PROTO}
> ${YELLOW}${SP}${NORM}:${YELLOW}${DP}${NORM} ${LINE}$TIMELINE"
> ;;
> *)
> echo INVALID ENTRY $LINE $TIMELINE
> esac
> done &
> sudo tail -n 0 --follow=name /var/log/messages | grep Firewall |
> grep -v
> sudo | while read Mon Day Time Host lixo lixo lixo LOGNAME DEV_IN
> DEV_OUT MAC SRC DST LEN TOS PREC TTL ID LINELOG
> do
> PROTO=`echo $LINELOG | cut -d= -f2 | cut -d' ' -f1`
> S=`echo $SRC | cut -d= -f2`
> SP=`echo $LINELOG | cut -d= -f3 | cut -d' ' -f1`
> D=`echo $DST | cut -d= -f2`
> DP=`echo $LINELOG | cut -d= -f4 | cut -d' ' -f1`
> TIMELINE=" @$Time-$Day/$Mon"
> LINE=$(echo $LINELOG | cut -d= -f6- | cut -d' ' -f2 | tr -d ' ')
> if [ "`echo $D | cut -d. -f4`" == "255" ]
> then
> MSG="${BROWN}BROADCAST${NORM}"
> if [ "$S" == "0.0.0.0" ]
> then
> S=`echo $MAC | cut -d: -f7-`
> fi
> MSG="${MSG} from ${U}${S}"
> else
> case $LOGNAME in
> 'LOCALINPUT:')
> MSG="LOCAL from ${U}${S}"
> ;;
> 'SERVICES:')
> MSG="${LGREEN}SERVICES${NORM} from ${U}${S}"
> ;;
> *)
> esac
> fi
> echo -e "${MSG}${NORM} ${PROTO}
> ${YELLOW}${SP}${NORM}:${YELLOW}${DP}${NORM} ${LINE}$TIMELINE"
> done &
> while :
> do
> sleep 6h
> echo ---- `date` ----
> done
> ---- monitor.sh ----
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,
Jeferson Santos


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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