Jak zobrazit protokoly Systemctl

Jak Zobrazit Protokoly Systemctl



Systemd je jedním z široce používaných init systémů na Linuxu. Klíčovou výhodou systemd je jeho schopnost spravovat systémové protokoly. Shromažďuje všechny zprávy jádra a uživatelské procesy do protokolu s názvem Časopis . The žurnálovaný je démon, který zachycuje a spravuje protokoly v binárním souboru. Tento démon má klíčovou výhodu v ukládání dat ve strukturované a indexované podobě, což usnadňuje přístup a analýzu prostřednictvím journalctl utility.

V této příručce se budu zabývat tím, jak zobrazit protokoly systemd v systému Linux pomocí různých nástrojů příkazového řádku.

Poznámka: Příkazy uvedené v této příručce se provádějí na Ubuntu. Budou fungovat bez chyb na všech distribucích Linuxu, které jsou dodávány se systémem systemd init.







Metody zobrazení protokolů systemctl

Existují dva přístupy k zobrazení protokolů systemd v systému Linux:



Systemctl poskytuje nejnovější protokoly specifické pro službu, zatímco journalctl poskytuje podrobné systémové protokoly všech služeb a konkrétní služby.



Prozkoumám oba nástroje pro zobrazení protokolů systemd. Nejprve však pochopme klíčový rozdíl mezi příkazy systemctl a journalctl.





Co je systemctl

Systemctl je nástroj příkazového řádku, který spravuje služby systemd, jako je povolení nebo zakázání služby a zobrazení stavu. The stav systemctl příkaz také vytiskne několik řádků protokolu služby ve spodní části výstupu a tento protokol je po nedávném spuštění. Tyto řádky protokolu služby však pocházejí pouze z období po aktuálním spuštění.

Co je journalctl

Journalctl je obslužný program příkazového řádku používaný k tisku protokolů shromážděných systémem systemd. Oproti systemctl poskytuje detailní výstup s možnostmi filtrování. Tento nástroj je navržen tak, aby:



  • Číst protokoly (nejstarší protokol je na prvním místě)
  • Sledujte protokoly
  • Filtrujte protokoly podle času, služby nebo uživatele

Systemd shromažďuje protokoly z jádra, služeb a démonů a ukládá je na centralizovaném místě.

Jak zobrazit protokol služby pomocí systemctl

Obecná syntaxe pro nalezení protokolu služby pomocí systemctl užitečnost je zmíněna níže.

stav systemctl [ Název služby ]

Chcete-li například zobrazit informace protokolu o smbd.služba použijte příkaz uvedený níže.

systemctl status smbd.service

Chcete-li získat výstup bez stránkování, přidejte – bez pageru možnost v příkazu.

systemctl status smbd.service --no-pager

Jak zobrazit protokol služby pomocí journalctl

Chcete-li zobrazit protokol konkrétní služby systemd, použijte journalctl s -v název velení a služby nebo jednotky.

journalctl -v [ Název služby ]

Ve výše uvedeném příkazu je -v vlajka, zkratka pro -jednotka se používá k filtrování journalctl výstup podle názvu jednotky.

Chcete-li například vytisknout protokol smbd démona, vyměním [jméno jednotky] s smbd.služba .

journalctl -v smbd.služba

Ve výstupu je vidět, že nejstarší záznam je uveden jako první a poté se zaznamenává po každém spuštění.

Chcete-li získat nejnovější záznam, nejprve použijte -To je zkratka pro – konec pageru.

journalctl -v smbd.služba -To je

Pokud chcete z výstupu vynechat stránkování, jednoduše připojte – bez pageru ve výše uvedených příkazech.

Chcete-li průběžně tisknout záznamy protokolu v reálném čase -F zkratka pro -následovat .

journalctl -v smbd.služba -F

Filtrování lze dále rozšířit použitím parametru -b zkratkou pro – bota , který vytiskne protokoly na základě aktuálního spouštění.

journalctl -v [ název-jednotky ] -b

Vytiskneme protokoly smbd.služba z nedávného spuštění.

journalctl -v smbd.služba -b

Výše uvedený výstup se podobá výstupu, který získáme pomocí stav systemctl příkaz.

Chcete-li získat podrobný přehled protokolu, použijte -X zkratka pro -katalog volba.

journalctl -v smbd.služba -X

Tím se připojí krátký popis protokolu.

Nyní, pro tisk protokolů na základě času pomocí journalctl existují dvě možnosti, -S zkratka pro -od té doby a -V zkratka pro -až do .

journalctl -v [ název-jednotky ] -S '[rok-měsíc-den] [hodiny:minuty:sekundy]'

Například pro zobrazení protokolů jednotky smbd z 2024:01:30 12:05:00 .

journalctl -v smbd.služba -S '2024:01:30 12:05:00'

Závěr

Chcete-li zobrazit protokoly systemd služby, existují dva hlavní nástroje, journalctl a systemctl. Journalctl je speciálně navržen pro prohlížení protokolů systemd. Systemctl má však také možnost tisku protokolu služby. Chcete-li vytisknout protokol používání služby, journalctl -u [jméno jednotky] a systemctl [jméno jednotky].