V tem priročniku bom obravnaval, kako si ogledate dnevnike systemd v Linuxu z uporabo različnih pripomočkov ukazne vrstice.
Opomba: Ukazi, omenjeni v tem priročniku, se izvajajo v Ubuntuju. Delovali bodo brez napak na vseh distribucijah Linuxa, ki so priložene sistemu inicializacije systemd.
Metode za ogled dnevnikov systemctl
Obstajata dva pristopa za ogled dnevnikov systemd v Linuxu:
Systemctl podaja najnovejše dnevnike za posamezne storitve, medtem ko journalctl podaja poglobljene sistemske dnevnike vseh storitev in določene storitve.
Raziskal bom oba pripomočka za ogled sistemskih dnevnikov. Najprej pa poglejmo ključno razliko med ukazoma systemctl in journalctl.
Kaj je systemctl
Systemctl je pripomoček ukazne vrstice, ki upravlja storitve systemd, kot je omogočanje ali onemogočanje storitve in ogled stanja. The status systemctl ukaz tudi natisne nekaj vrstic dnevnika storitve na dnu izpisa in ta dnevnik je po nedavnem zagonu. Vendar pa so te vrstice dnevnika storitve samo od trenutnega zagona.
Kaj je journalctl
Journalctl je pripomoček ukazne vrstice, ki se uporablja za tiskanje dnevnikov, ki jih zbira systemd. V primerjavi s systemctl zagotavlja podroben izpis z možnostmi filtriranja. Ta pripomoček je zasnovan za:
- Branje dnevnikov (najstarejši dnevnik je prvi)
- Nadzorujte dnevnike
- Filtrirajte dnevnike glede na čas, storitev ali uporabnika
Systemd zbira dnevnike iz jedra, storitev in demonov ter jih shranjuje na centraliziranem mestu.
Kako si ogledati dnevnik storitve z uporabo systemctl
Splošna sintaksa za iskanje dnevnika storitve z uporabo systemctl pripomoček je omenjen spodaj.
status systemctl [ ime storitve ]Na primer, če si želite ogledati podatke dnevnika smbd.service uporabite spodnji ukaz.
status systemctl smbd.service
Če želite dobiti izpis brez paginacije, dodajte – brez strannika možnost v ukazu.
status systemctl smbd.service --brez strannika
Kako si ogledate dnevnik storitve z uporabo journalctl
Za ogled dnevnika določene storitve systemd uporabite journalctl z -in ukaz in storitev ali ime enote.
journalctl -in [ ime storitve ]V zgornjem ukazu je -in zastava, okrajšava za – enota se uporablja za filtriranje journalctl izhod z imenom enote.
Na primer, za tiskanje dnevnika smbd daemon, zamenjal bom [ime-enote] z smbd.service .
journalctl -in smbd.service
V izhodu je razvidno, da je najstarejši vnos prvi in se nato prijavi po vsakem zagonu, ki je naveden.
Za pridobitev najnovejšega vnosa najprej uporabite -Je kratko za –pager-end.
journalctl -in smbd.service -Je
Če želite iz izpisa izpustiti številčenje strani, preprosto dodajte – brez strannika v zgoraj omenjenih ukazih.
Za neprekinjeno tiskanje vnosov v dnevnik v realnem času -f kratko za – slediti .
journalctl -in smbd.service -fFiltriranje je mogoče dodatno razširiti z uporabo zastavice -b, okrajšave za – zagon , ki natisne dnevnike glede na trenutni zagon.
journalctl -in [ ime-enote ] -bNatisnimo dnevnike smbd.service od nedavnega zagona.
journalctl -in smbd.service -b
Zgornji izhod je podoben izhodu, ki ga dobimo z uporabo status systemctl ukaz.
Za podroben pregled dnevnika uporabite -x kratko za – katalog možnost.
journalctl -in smbd.service -xTo bo dodalo kratek opis dnevnika.
Za tiskanje dnevnikov glede na čas z uporabo journalctl obstajata dve možnosti, -S kratko za -od in -IN kratko za – dokler .
journalctl -in [ ime-enote ] -S '[leto-mesec-dan] [ure:minute:sekunde]'Na primer za ogled dnevnikov enote smbd od 2024:01:30 12:05:00 .
journalctl -in smbd.service -S '2024:01:30 12:05:00'
Zaključek
Za ogled sistemskih dnevnikov storitve sta na voljo dva glavna pripomočka, journalctl in systemctl. Journalctl je zasnovan posebej za pregledovanje dnevnikov systemd. Vendar ima systemctl tudi možnost tiskanja dnevnika storitve. Če želite natisniti dnevnik uporabe storitve, journalctl -u [ime-enote] in systemctl [ime-enote].