journalctl to twoje okno na logi systemd. Zamiast grzebać po dziesiątkach plików w /var/log, masz jedno narzędzie, które czyta dziennik gromadzony przez demona journald — wpisy z jądra, usług (unitów), bootów i całej przestrzeni użytkownika w jednym miejscu. Domyślnie pokazuje logi od najstarszych, otwiera je w pagerze (less) i pozwala filtrować po usłudze, czasie, priorytecie czy konkretnym bootcie. Jeśli debugujesz padającą usługę albo szukasz, dlaczego serwer się wczoraj zawiesił — zaczynasz właśnie tutaj.
Składnia i najważniejsze opcje
Podstawowa składnia: journalctl [opcje]
-u NAZWA— pokazuje logi tylko dla wskazanej usługi, np.nginx.service.-f— tryb „follow”: dopisuje nowe wpisy na bieżąco, jaktail -f.-b— logi z bieżącego bootu;-b -1to poprzedni boot.-k— wyłącznie komunikaty jądra (odpowiednikdmesg, ale z historią).-p POZIOM— filtr po priorytecie, np.erralbowarning(i wyżej).--sincei--until— zakres czasu, np.--since "2026-06-29 08:00"lub--since "1 hour ago".-n LICZBA— ostatnie N wpisów (domyślnie 10), zwykle łączone z-r(odwrotna kolejność, najnowsze na górze).-e— skok od razu na koniec dziennika;-xdokleja podpowiedzi z katalogu komunikatów.
Przykłady użycia
journalctl -u sshd -f— śledzi na żywo logi demona SSH, gdy ktoś próbuje się logować.journalctl -b -p err— pokazuje wszystkie błędy z bieżącego bootu; idealne na start diagnozy.journalctl -u nginx --since "today"— logi nginx od północy, bez przewijania całej historii.journalctl -k -b -1— komunikaty jądra z poprzedniego uruchomienia, np. po nagłym reboocie.journalctl --disk-usage— sprawdza, ile miejsca zżerają dzienniki (potrafią urosnąć).
Częste błędy i pułapki
Najczęstsza niespodzianka: journalctl -b -1 rzuca błędem „Failed to look up boot”, bo dziennik nie jest trwały. Na wielu systemach journald trzyma logi tylko w RAM (/run/log/journal) i kasuje je przy restarcie. Żeby zostały na dysku, potrzebujesz katalogu /var/log/journal oraz Storage=persistent w journald.conf (potem systemctl restart systemd-journald).
Druga pułapka to uprawnienia: zwykły użytkownik widzi tylko swoje wpisy i logi publiczne. Po pełen obraz uruchamiaj przez sudo albo dorzuć użytkownika do grupy systemd-journal.
Pamiętaj też, że journalctl żyje tylko tam, gdzie jest systemd — na starych init.d, w wielu kontenerach czy na macOS go nie uświadczysz; tam wracasz do plików w /var/log. I nie myl -p (priorytet) z czyszczeniem: do przycinania służy --vacuum-size=200M lub --vacuum-time=7d.
Powiązane komendy: dmesg, systemctl, tail, grep, less.