O journalctl lê os registos que o systemd guarda. A partir de um telemóvel, basta uma ligação SSH e um punhado de opções: -u nginx filtra por serviço, -f acompanha a saída em direto, -b limita ao arranque atual, --since restringe por hora, -p err mostra apenas erros e -n define quantas linhas imprimir.
Comandos journalctl essenciais para verificar um servidor a partir do telemóvel
journalctl -u nginx -f mostra as entradas mais recentes do nginx e depois aguarda novas, tal como tail -f num ficheiro de registo. Estes comandos cobrem a maioria das verificações rápidas:
# Follow nginx live (Ctrl+C to quit)
journalctl -u nginx -f
# Last 50 nginx entries, no pager
journalctl -u nginx -n 50 --no-pager
# Everything since the current boot
journalctl -b
# Previous boot (needs a persistent journal)
journalctl --list-boots
journalctl -b -1
# Narrow by date or time
journalctl --since "2026-10-26 08:00" --until "2026-10-26 09:30"
journalctl -u nginx --since "1 hour ago"
journalctl --since today
# Errors or worse in this boot
journalctl -p err -b
# Combined: nginx errors in the last 10 minutes
journalctl -u nginx -p err --since "10 min ago"Se o seu utilizador não pertencer ao grupo systemd-journal ou adm, o journalctl só mostra as suas próprias entradas; acrescente sudo no início para ler os registos do sistema. Todas as opções estão documentadas na página de manual do journalctl.
O que filtra cada opção do journalctl: -u, -f, -b, --since, -p e -n
As opções do journalctl combinam-se com lógica AND: journalctl -u nginx -b -p err devolve apenas os erros do nginx desde o último arranque.
-u: filtra por unidade systemd. Aceitanginxounginx.servicee pode ser repetida para intercalar várias unidades.-f: acompanha o journal em direto, mostrando primeiro as últimas 10 entradas.-b: limita a saída ao arranque atual;-b -1corresponde ao anterior. Útil depois de um reinício inesperado.--sincee--until: aceitam datas no formato"YYYY-MM-DD HH:MM:SS"e expressões comoyesterday,todayou"2 hours ago".-p: prioridade syslog de 0 (emerg) a 7 (debug).-p errinclui err, crit, alert e emerg.-n: número de entradas finais.-n 100impede que milhares de linhas inundem um ecrã pequeno.
Há mais duas opções úteis num ecrã estreito: -r inverte a ordem para que as entradas mais recentes apareçam primeiro, e -o cat mostra apenas a mensagem, sem data, anfitrião nem processo, o que reduz a quebra de linhas.
journalctl no iOS e Android versus computador: tabela comparativa
O journalctl envia a sua saída para o paginador less, controlado com PgUp, PgDn, End e q; o teclado de sistema do telemóvel não tem nenhuma dessas teclas.
| Tarefa no journalctl | Computador | Telemóvel com teclado de sistema | Telemóvel com termi1 |
|---|---|---|---|
Sair de -f | Ctrl+C | Sem tecla Ctrl direta | Tecla Ctrl no seu próprio teclado |
| Percorrer o paginador | PgUp, PgDn e End | Sem teclas de paginação | Camada fn com PgUp, PgDn, Home e End |
| Completar nomes de unidades | Tab | Sem Tab | Tecla Tab dedicada |
| Mudança de rede | Ligação por cabo ou Wi-Fi estável | O SSH pode cair ao mudar para a rede móvel | O Mosh mantém a sessão ativa |
Deixar -f a correr | A janela fica aberta | Perde-se se a sessão cair | O tmux mantém-no a correr |
Com qualquer cliente, acrescentar --no-pager ou -n elimina por completo a necessidade de teclas de paginação.
journalctl -f sem quebras: Mosh e tmux nas mudanças de rede
O Mosh usa UDP, por omissão nas portas 60000-61000, e inicia o mosh-server através de uma ligação SSH inicial; é por isso que um journalctl -u nginx -f em execução sobrevive à mudança de Wi-Fi para rede móvel.
A firewall do servidor tem de permitir esse intervalo UDP, além da porta TCP 22 do OpenSSH. O Mosh não faz encaminhamento de portas nem encaminhamento X11. Se o servidor não tiver IP público nem portas abertas, uma rede mesh privada Prialo ou o Tailscale torna-o acessível sem o expor.
Para manter o acompanhamento a correr mesmo depois de fechar a aplicação, inicie-o dentro do tmux:
tmux new -s logs
journalctl -u nginx -f
# Ctrl+B then d to detach; when you come back:
tmux attach -t logsO termi1 combina ambos: mantém a sessão ativa com o Mosh e usa o tmux para que aquilo que deixou a correr continue lá quando voltar.
Exportar registos do journalctl para um ficheiro e descarregá-los por SFTP
journalctl -u nginx --since today --no-pager > /tmp/nginx-today.log guarda as entradas de hoje do nginx em texto simples, prontas a anexar a um ticket ou a ler mais tarde.
No computador, pode obtê-lo com scp, que usa o protocolo SFTP por omissão desde o OpenSSH 9.0. No termi1, o SFTP está integrado, por isso pode ver e descarregar o ficheiro sem sair da sessão. Apague depois o ficheiro de /tmp se contiver dados sensíveis.
A IA do termi1 escreve o comando journalctl sem premir Enter
A IA do termi1 transforma uma frase escrita ou ditada, como "erros do nginx da última hora", num comando que é escrito na linha de comandos sem premir Enter, para que possa verificar as flags antes de o executar.
Tem dois modos: "Review", que nunca prime Enter, e "Safe auto", o modo predefinido, em que apenas um conjunto limitado de comandos reconhecidos como seguros recebe Enter. Nas ligações marcadas como produção, o Production Guard garante que nada recebe Enter automaticamente e retém tudo o que apague, pare ou altere algo, como um systemctl restart nginx depois de ler os registos. A IA nunca abre a sessão nem recebe chaves ou palavras-passe, e as chaves SSH geradas no telemóvel ficam no armazenamento seguro do sistema. Saiba mais sobre o terminal SSH, Mosh e SFTP, que pode descarregar na App Store ou no Google Play.
Perguntas frequentes
Como vejo os registos do nginx em tempo real com o journalctl?
Vê os registos do nginx em tempo real com journalctl -u nginx -f, que mostra as últimas dez entradas e acrescenta as novas à medida que chegam. Prima Ctrl+C para sair. Se o nginx também escrever em /var/log/nginx, esses ficheiros existem separadamente do journal.
Qual é a diferença entre journalctl -b e journalctl -b -1?
O journalctl -b mostra as entradas do arranque atual, enquanto o journalctl -b -1 mostra o arranque anterior. O segundo só funciona se o journal for persistente, ou seja, se estiver guardado em /var/log/journal e não apenas em memória. O journalctl --list-boots lista os arranques disponíveis.
Que prioridades inclui o journalctl -p err?
O journalctl -p err inclui as mensagens com prioridade err (3) e todos os níveis mais graves: crit, alert e emerg. Deixa de fora warning, notice, info e debug. Combinado com -b ou --since, é a forma mais rápida de ver o que falhou sem ler todas as linhas informativas.
Porque é que o journalctl não mostra os registos do sistema sem sudo?
Sem sudo, o journalctl só mostra as entradas do próprio utilizador quando este não pertence ao grupo systemd-journal ou adm. Adicionar o utilizador a um desses grupos permite ler o journal do sistema sem elevar privilégios em cada consulta. A alteração aplica-se depois de iniciar uma nova sessão.