Gerando Log em Arquivos

Iniciado por Vagner Candido, 14 de Março de 2007, 14:30

tópico anterior - próximo tópico

Vagner Candido


   Boa tarde galera, desculpe a iginorancia, mais estou com a seguinte dúvida, no console estou executando um comando, por exemple snmpget bla, bla, bla ........... e o resultado é enorme e óbviamente nao aparece completo no console. Existe alguma coisa onde eu rode o comando que quero a partir do console e o resultado seja armazenado em um arquivo de log? Existe algum comando no console que gere este log.
   Desde já agradeço o empenho e a cooperação de todos.

Valeu
Vagner Candido
e-mail: vacandido@globo.com
  msn : vcandidos@msn.com

arlei

Use os operadores de redirecionamento, como no exemplo o ">" que enviará uma saída qualquer para outro dispositivo.

Ex.:
snmpget bla, bla, bla > /home/seu_user/log_do_bla_bla_bla

Pronto, toda saída do comando sera redirecionada para o arquivo /home/seu_user/log_do_bla_bla_bla

T+
Arlei

Vagner Candido


  Beleza Galera, Valew mesmo. Muito obrigado
Vagner Candido
e-mail: vacandido@globo.com
  msn : vcandidos@msn.com

clcampos

Existem também outros recusos para ver o resultado de um comando com algumas facilidades, conforme exemplo abaixo:


ls -R | pg


Nesse exemplo você pode voltar a primeira página, ir a última, voltar uma página, saltar página e etc. Existem também outras formas de ver o resultado de um comando de forma "pausada".
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

paozinho

Aproveitando o tópico...

tipo...se quiser gerar um arquivo de log sobre erros e talz....imaginando que quando um "wget -c" de ERRO...ele escreva lá "erro"

tem como por o comando GREP erro ???


Tipo, tem como usar o comando GREP para FILTRAR e por no log ?

arlei

paozinho,

eu particularmente acho melhor que seja gerado um log completo do comando em questão, e então depois para consultar o arquivo de log vc use o grep para filtrar a pesquisa.

T+
Arlei

paozinho

Olá arlei, concordo...mas minha dúvida é sobre como seria a sintaxe do GREP...entende ?

Teria que por entre `grep` ???

arlei

Seja para filtrar uma determinada expressão no arquivo de log ou mesmo na saída de um comando conforme sintaxe abaixo.

comando |grep expressão

Exs.:

ps aux |grep init

sudo cat /etc/fstab |grep ext3

T+
Arlei

paozinho

Vlw !!

Tipo, imaginando que eu quero fazer um LOG do wget.

wget -c http://X.Y.Z | grep erro | 2> /home/$USER/Desktop/log.txt

Algo assim ?

arlei

Tenta ae, mais acho que ficaria assim:

wget -c http://X.Y.Z | grep erro > /home/$USER/Desktop/log.txt

T+
Arlei

paozinho

Ele escreve "Falhou"

ai eu usei o:

wget -c http://x.y.z | grep Falhou > /home/$USER/Desktop/log.txt

Ele cria o log.txt, o que já era de se esperar, mas não escreve o "falhou"....

arlei

Bem, eu testei aqui a sintaxe com o seguinte comando e funcionou.

cat /etc/fstab |grep ext3 > log_teste.txt

cat log_teste
sysadmin@netserver:~$ cat log_teste.txt
/dev/sda1        /boot            ext3        defaults         1   2


Então aparentemente deveria funcionar para outro comando qualquer. Talvez não tenha nenhuma expressão "Falhou" na saída do comando. Tente jogar toda saída do comando no arquivo de log e depois filtre com esta expressão para ver se funciona.

Nota: Lembre que "Falhou" é diferente de "falhou". O Linux é case-sensitive.

T+
Arlei

paozinho

#12
Tentei APENAS redirecionar...não funcionou

wget http://x.y.z > /home/$USER/Desktop/log.txt

Ta certo ?


EDIT:

Em vez de > usei o 2>

Agora ele direcionou, então ficou assim:

wget http://x.y.z 2> /home/$USER/Desktop/log.txt


EDIT 2:


Mas não consigo usar o filtro...tem alguma ideia ?

_Luks

#13
para obter a saida de algum programa e armazenar num arquivo use isso, você pode usar o tee:
comando | tee saida.txt

paozinho, no seu caso:

wget file | tee ~/Desktop/log.txt

obs: ~/ = /home/$USER

Diego_Rocha

Pão o comando que o arlei te passou esta correto, o que pode estar errado é seu grep, verifica a forma q o wget cria um log com uma falha, pode ser q a palavra usada é fail ao inves de falha, é isso ai t+