===== Exemplos do comando journalctl ===== ==== Nível Básico ==== * **Exibir todos os logs do sistema:** - journalctl - Exibe todos os logs do sistema desde o início do `journal`. * **Exibir logs mais recentes (similar ao `tail`):** - journalctl -e - Exibe os logs mais recentes, direto para o final do arquivo de logs. * **Exibir logs de boot anterior:** - journalctl -b -1 - Exibe os logs do boot anterior. * **Exibir logs de um serviço específico:** - journalctl -u nome_servico - Exibe os logs do serviço `nome_servico`. * **Monitorar logs em tempo real (similar ao `tail -f`):** - journalctl -f - Exibe os logs em tempo real à medida que são gerados. * **Exibir logs do sistema desde o último boot:** - journalctl -b - Mostra todos os logs do sistema desde o último boot. ==== Nível Intermediário ==== * **Filtrar logs por nível de prioridade (por exemplo, erros):** - journalctl -p err - Exibe apenas logs de erros (nível `err` ou superior). * **Exibir logs de uma data específica:** - journalctl --since "2024-10-10 12:00:00" - Exibe os logs desde `10 de outubro de 2024, às 12:00`. * **Exibir logs dentro de um intervalo de tempo:** - journalctl --since "2024-10-10" --until "2024-10-12" - Exibe os logs entre as datas `10 de outubro de 2024` e `12 de outubro de 2024`. * **Exibir logs do kernel (dmesg logs):** - journalctl -k - Exibe apenas os logs do kernel. * **Exibir logs de todos os boots do sistema:** - journalctl --list-boots - Exibe uma lista com todos os boots do sistema, com identificadores para cada boot. * **Exibir logs de um serviço específico desde o último boot:** - journalctl -u nome_servico -b - Exibe os logs do serviço `nome_servico` desde o último boot. * **Exibir logs de uma unidade de tempo específica (por exemplo, última hora):** - journalctl --since "1 hour ago" - Mostra os logs gerados na última hora. ==== Nível Avançado ==== * **Limitar o número de linhas exibidas:** - journalctl -n 50 - Exibe apenas as últimas `50` linhas de logs. * **Exibir logs com prioridade superior ou igual a "warning":** - journalctl -p warning - Exibe logs de aviso (`warning`) ou superior. * **Filtrar logs por unidade de sistema (systemd):** - journalctl -u sshd.service - Exibe apenas os logs do serviço `sshd.service`. * **Filtrar logs com base no PID (Process ID):** - journalctl _PID=1234 - Exibe os logs gerados pelo processo com PID `1234`. * **Exibir logs de um usuário específico:** - journalctl _UID=1000 - Exibe logs gerados por processos executados pelo usuário com UID `1000` (normalmente o primeiro usuário não-root do sistema). * **Excluir mensagens repetitivas dos logs:** - journalctl --dmesg --no-pager - Exibe os logs do kernel sem repetições de mensagens, útil para logs contínuos de hardware. * **Exibir logs de falhas recentes de serviços:** - journalctl --failed - Exibe os logs dos serviços que falharam recentemente. * **Exibir logs de eventos de reboot do sistema:** - journalctl -u reboot - Exibe logs relacionados a eventos de reinicialização do sistema. ==== Nível Especializado ==== * **Limpar os logs armazenados no journal:** - sudo journalctl --vacuum-time=2weeks - Remove todos os logs mais antigos que duas semanas para liberar espaço em disco. * **Compactar o tamanho dos logs para um limite específico:** - sudo journalctl --vacuum-size=500M - Mantém os logs armazenados no `journal` até um limite de `500 MB`, removendo os mais antigos. * **Recarregar os logs do journal manualmente após alterações:** - sudo systemctl restart systemd-journald - Reinicia o serviço `systemd-journald` para recarregar as configurações de log. * **Exibir logs de um cgroup específico:** - journalctl -M máquina_virtual -u nome_servico - Exibe logs do serviço `nome_servico` dentro de uma máquina virtual ou container com `cgroup`. * **Buscar logs por mensagem específica:** - journalctl | grep "mensagem_erro" - Busca por uma string ou padrão específico, como "mensagem_erro", nos logs do sistema. * **Exportar logs para um arquivo externo:** - journalctl -u nome_servico > logs_servico.txt - Exporta os logs do serviço `nome_servico` para um arquivo `logs_servico.txt`. * **Verificar logs de kernel persistentes após reinicializações:** - journalctl -k -b -1 - Exibe logs do kernel da inicialização anterior ao boot atual. * **Filtrar logs por chave de valor específica (ex.: mensagem do sistema):** - journalctl MESSAGE_ID=key_value - Exibe logs com base em uma `MESSAGE_ID` específica. * **Ativar logs persistentes no journal:** - **Editar o arquivo de configuração do journal:**
sudo nano /etc/systemd/journald.conf
- Mudar a linha `#Storage=auto` para `Storage=persistent`
- **Reiniciar o serviço do journal:**
sudo systemctl restart systemd-journald - Habilita logs persistentes, permitindo que eles sejam salvos após reinicializações.