W tym przewodniku omówię sposób przeglądania dzienników systemowych w systemie Linux przy użyciu różnych narzędzi wiersza poleceń.
Notatka: Polecenia wymienione w tym przewodniku są wykonywane w systemie Ubuntu. Będą działać bez błędów we wszystkich dystrybucjach Linuksa dostarczonych z systemem init systemd.
Metody przeglądania dzienników systemctl
Istnieją dwa podejścia do przeglądania dzienników systemowych w systemie Linux:
Systemctl udostępnia najnowsze dzienniki specyficzne dla danej usługi, natomiast dziennikctl udostępnia szczegółowe dzienniki ogólnosystemowe dotyczące wszystkich usług i konkretnej usługi.
Przeanalizuję oba narzędzia, aby wyświetlić dzienniki systemowe. Ale najpierw zrozummy kluczową różnicę między poleceniami systemctl i journalctl.
Co to jest systemctl
Systemctl to narzędzie wiersza poleceń umożliwiające zarządzanie usługami systemowymi, takimi jak włączanie i wyłączanie usług oraz przeglądanie ich stanu. The stan systemctl polecenie wypisuje również kilka wierszy dziennika usługi na dole danych wyjściowych, a dziennik ten dotyczy ostatniego uruchomienia. Jednakże te wiersze dziennika usługi pochodzą wyłącznie z okresu po bieżącym uruchomieniu.
Co to jest dziennikctl
Journalctl to narzędzie wiersza poleceń używane do drukowania dzienników zebranych przez systemd. W porównaniu do systemctl zapewnia szczegółowe dane wyjściowe z opcjami filtrowania. To narzędzie jest przeznaczone do:
- Czytaj logi (najstarszy dziennik jest na pierwszym miejscu)
- Monitoruj logi
- Filtruj logi według czasu, usługi lub użytkownika
Systemd zbiera logi z jądra, usług i demonów i przechowuje je w scentralizowanym miejscu.
Jak wyświetlić dziennik usługi za pomocą systemctl
Ogólna składnia znajdowania dziennika usługi przy użyciu metody systemctl użyteczność jest wymieniona poniżej.
stan systemctl [ Nazwa serwisu ]Na przykład, aby wyświetlić informacje dziennika dotyczące usługa smbd użyj polecenia podanego poniżej.
status systemctl smbd.service
Aby uzyskać dane wyjściowe bez paginacji, dodaj plik –bez pagera opcję w poleceniu.
status systemctl smbd.service --bez pagera
Jak wyświetlić dziennik usługi za pomocą dziennikctl
Aby wyświetlić dziennik określonej usługi systemd, użyj dziennikctl z -W nazwa dowództwa i usługi lub jednostki.
dziennikctl -W [ Nazwa serwisu ]W powyższym poleceniu -W flaga, skrót od -jednostka służy do filtrowania dziennikctl wyjście według nazwy jednostki.
Na przykład, aby wydrukować dziennik pliku smbd demon, zastąpię [Nazwa jednostki] z usługa smbd .
dziennikctl -W usługa smbd
Na wynikach widać, że najstarszy wpis pojawia się jako pierwszy, a następnie jest rejestrowany po każdym uruchomieniu.
Aby uzyskać najnowszy wpis, najpierw użyj -To jest skrót od – koniec pagera.
dziennikctl -W usługa smbd -To jest
Jeśli chcesz pominąć paginację w wynikach, po prostu dołącz plik –bez pagera w powyższych poleceniach.
Aby stale drukować wpisy dziennika w czasie rzeczywistym -F skrót od -podążać .
dziennikctl -W usługa smbd -FFiltrowanie można dodatkowo rozszerzyć, używając flagi -b, skrótu od -uruchomić , który drukuje dzienniki na podstawie bieżącego rozruchu.
dziennikctl -W [ Nazwa jednostki ] -BWydrukujmy logi z usługa smbd z ostatniego rozruchu.
dziennikctl -W usługa smbd -B
Powyższe dane wyjściowe przypominają dane wyjściowe, które otrzymujemy za pomocą metody stan systemctl Komenda.
Aby uzyskać szczegółowy przegląd dziennika, użyj pliku -X skrót od -katalog opcja.
dziennikctl -W usługa smbd -XSpowoduje to dołączenie krótkiego opisu dziennika.
Teraz, aby wydrukować dzienniki na podstawie czasu za pomocą dziennikctl, istnieją dwie opcje: -S skrót od -od I -W skrót od -dopóki .
dziennikctl -W [ Nazwa jednostki ] -S „[rok-miesiąc-dzień] [godziny:minuty:sekundy]”Na przykład, aby wyświetlić dzienniki jednostki smbd z 2024:01:30 12:05:00 .
dziennikctl -W usługa smbd -S „2024:01:30 12:05:00”
Wniosek
Do przeglądania dzienników systemowych usługi służą dwa główne narzędzia: journalctl i systemctl. Dziennikctl jest specjalnie zaprojektowany do przeglądania dzienników systemd. Jednak systemctl ma również opcję wydrukowania dziennika usługi. Aby wydrukować dziennik korzystania z usługi, dziennikctl -u [nazwa jednostki] i systemctl [Nazwa jednostki].