Selles juhendis käsitlen Linuxis süsteemsete logide vaatamist erinevate käsurea utiliitide abil.
Märge: Selles juhendis mainitud käsud tehakse Ubuntus. Need töötavad vigadeta kõigis systemd init süsteemiga kaasas olevates Linuxi distributsioonides.
Systemctl logide vaatamise meetodid
Süsteemsete logide vaatamiseks Linuxis on kaks võimalust:
Systemctl pakub uusimaid teenusepõhiseid logisid, samas kui journalctl annab kõigi teenuste ja konkreetse teenuse põhjalikke kogu süsteemi hõlmavaid logisid.
Süsteemsete logide vaatamiseks uurin mõlemat utiliiti. Kuid kõigepealt mõistame peamist erinevust systemctl ja journalctl käskude vahel.
Mis on systemctl
Systemctl on käsurea utiliit, mis haldab süsteemseid teenuseid, nagu teenuse lubamine või keelamine ja oleku vaatamine. The systemctl olek käsk prindib ka mõned teenuse logiread väljundi allossa ja see logi on pärast hiljutist alglaadimist. Need teenuse logiread pärinevad aga ainult pärast praegust alglaadimist.
Mis on Journalctl
Journalctl on käsurea utiliit, mida kasutatakse systemd kogutud logide printimiseks. Võrreldes süsteemiga systemctl, pakub see üksikasjalikku väljundit koos filtreerimisvalikutega. See utiliit on loodud selleks, et:
- Logide lugemine (vanim logi tuleb enne)
- Jälgi logisid
- Filtreerige logisid aja, teenuse või kasutaja alusel
Systemd kogub logid kernelist, teenustest ja deemonitest ning salvestab need tsentraliseeritud kohta.
Kuidas vaadata teenuse logi kasutades systemctl
Üldine süntaks teenuse logi leidmiseks kasutades systemctl utiliiti mainitakse allpool.
systemctl olek [ teenuse nimi ]Näiteks logiteabe vaatamiseks smbd.service kasutage allpool antud käsku.
systemctl olek smbd.service
Lehtede vahetamiseta väljundi saamiseks lisage – piipar puudub suvand käsus.
systemctl olek smbd.service -- piipar puudub
Kuidas vaadata teenuse logi kasutades journalctl
Süsteemi konkreetse teenuse logi vaatamiseks kasutage Journalctl koos -sisse käsu ja teenuse või üksuse nimi.
Journalctl -sisse [ teenuse nimi ]Ülaltoodud käsus on -sisse lipp, lühend -üksus kasutatakse filtreerimiseks Journalctl väljund üksuse nime järgi.
Näiteks logi printimiseks smbd deemon, ma asendan [üksuse nimi] koos smbd.service .
Journalctl -sisse smbd.service
Väljundis on näha, et vanim kirje tuleb kõigepealt ja seejärel logitakse pärast iga alglaadimise loendit.
Uusima kirje hankimiseks kasutage esmalt -See on lühend – piipari lõpp.
Journalctl -sisse smbd.service -See on
Kui soovite lehekülgede arvu väljundist välja jätta, lisage lihtsalt – piipar puudub ülalmainitud käskudes.
Logikirjete pidevaks printimiseks reaalajas -f lühend – järgi .
Journalctl -sisse smbd.service -fFiltreerimist saab veelgi laiendada, kasutades lühendit -b – saabas , mis prindib logid praeguse alglaadimise alusel.
Journalctl -sisse [ üksuse nimi ] -bPrindime logid smbd.service hiljutisest alglaadimisest.
Journalctl -sisse smbd.service -b
Ülaltoodud väljund sarnaneb väljundiga, mille saame kasutades systemctl olek käsk.
Üksikasjaliku logiülevaate saamiseks kasutage -x lühend – kataloog valik.
Journalctl -sisse smbd.service -xSee lisab logi lühikirjelduse.
Nüüd on ajapõhiste logide printimiseks Journalctl abil kaks võimalust: -S lühend – alates ja -IN lühend – kuni .
Journalctl -sisse [ üksuse nimi ] -S '[aasta-kuu-päev] [tunnid:minutid:sekundid]'Näiteks üksuse logide vaatamiseks smbd alates 2024:01:30 12:05:00 .
Journalctl -sisse smbd.service -S '2024:01:30 12:05:00'
Järeldus
Teenuse süsteemsete logide vaatamiseks on kaks peamist utiliiti, journalctl ja systemctl. Journalctl on spetsiaalselt loodud süsteemi logide vaatamiseks. Systemctl-l on aga ka võimalus printida teenuse logi. Teenuse kasutamise logi printimiseks Journalctl -u [üksuse nimi] ja systemctl [üksuse nimi].