Como direcionar o dmesg no CentOS 7

0

Em um servidor do CentOS 7, digitei dmesg e anotei a data e hora da última entrada.

Em seguida, digitei tail -f /var/log/dmesg em um TERMINAL DIFERENTE NA MESMA MÁQUINA, para poder ver o final do log.

Terceiro, eu executei alguns scripts na mesma máquina usando o mesmo terminal. Nada mudou no terminal em que eu tinha digitado tail -f /var/log/dmesg .

Por fim, digitei dmesg novamente, extraí o log no Notepad ++ e observei que mais de 1.500 linhas de novos logs foram criadas na saída dmesg enquanto eu executava os outros scripts.

Quais comandos específicos devem ser digitados para que a tail dos dmesg logs seja realmente exibida na tela?

    
por CodeMed 29.03.2017 / 19:38

1 resposta

2

dmesg é um buffer de anel. Ou seja, quando atinge um determinado tamanho, dados antigos são descartados. Por causa disso, não funciona como um arquivo normal. É como os dados em /proc - quando você usa cat ou exibe de outra forma, você vê apenas o estado naquele instante.

Para contornar isso, as implementações mais recentes de dmesg incluem as opções -w ou --follow , que funcionam efetivamente como tail -f . Se você quiser capturar isso em um arquivo convencional em vez de um buffer de anel, você pode usar uma construção como:

dmesg --follow >> /path/to/file

Ou, se você quiser ver também o que está sendo capturado:

dmesg --follow | tee -a /path/to/file

Tal como acontece com tail -f , isto pode ser terminado com um simples sinal INT ou Ctrl - C .

    
por 29.03.2017 / 20:40