Menu

Przeglądanie logów – journalctl

2025-05-15 - System

Ostatnie zapisy w logu, x – dodatkowe informacje o wpisach dziennika (jeśli są dostępne)

journalctl -xe

Wyświetlanie logów w czasie rzeczywistym (ctrl+c – wyjście)

journalctl -f
journalctl -f -n 50           # śledź ostatnie 50 linii
journalctl -f --output=cat    # wyświetla log bez stempli tj. przedrostku z datą godziną, same komunikaty

Wyświetlanie komunikatów z kernela

journalctl -k 

Zmiana kolejności wyświetlania logów tj. od najnowszych do najstarszych

journalctl -r

Logi wg czasu od … do itd

journalctl --since "2025-05-01" --until "2025-05-02"
journalctl --since "2025-05-01 10:00" 
journalctl --since today
journalctl --since yesterday
journalctl --since=yesterday --until=now

logi z wybranych usług z ssh oraz z pvedaemon (Proxmox) gdzie doszło do autoryzacji słowo: „auth” w dniu dzisiejszym bez przewijania (less/more) tylko całość

journalctl -u ssh -u pvedaemon -g 'auth' --since today --no-pager

lista wszystkich sesji rozruchowych:

journalctl --list-boots

Sesja rozruchowa 0 to bieżąca sesja rozruchowa. Sesja rozruchowa -1 to ostatnia uruchomiona sesja i tak dalej.

journalctl -b -2

Szybkie filtrowanie po priorytetach (błędy/ostrzeżenia itd)
-p 3 – błędy, -p 4 – ostrzeżenia

journalctl -p 3 -xb
journalctl -p 4..6 -b0
journalctl -p err .. emerg       # błędy i krytyczne (err=3…emerg=0)
journalctl -p warning -b         # ostrzeżenia z bieżącego bootu

Filtrowanie po atrybutach obiektu

journalctl _PID=1234             # Id procesu
journalctl _UID=1000             # od użytkownika UID 1000
journalctl /usr/bin/nginx        # logi danego pliku wykonywalnego
journalctl -u ssh.service -u nginx -u php-fpm   # wg usług

Wyszukiwanie kilku fraz na raz

journalctl -g 'segfault|out of memory|kernel panic'
journalctl -r -u pvedaemon -g 'auth.*failure|failure.*auth'    # nieudane logowania do Proxmox
journalctl -r -u pvedaemon -g 'auth.*success|success.*auth'    # udane logowania do Proxmox
journalctl -r -u ssh -g 'auth.*failure|failure.*auth'          # nieudane logowania do ssh
journalctl -r -u ssh -g 'auth.*success|success.*auth'          # udane logowania do ssh

Utrzymanie i „sprzątanie” dziennika

journalctl --disk-usage           # ile zajmują logi
journalctl --vacuum-size=500M     # zbij do 500 MB
journalctl --vacuum-time=14d      # usuń wpisy starsze niż 14 dni
journalctl --rotate               # ręcznie obróć i skompresuj bieżący plik

Czyszczenie praktycznie całego logu:

sudo journalctl --rotate && sudo journalctl --vacuum-time=1s