Šiame vadove apžvelgsiu, kaip peržiūrėti sistemos žurnalus „Linux“ naudojant skirtingas komandų eilutės programas.
Pastaba: Šiame vadove paminėtos komandos atliekamos Ubuntu. Jie veiks be klaidų visuose Linux platinimuose, kurie yra su systemd init sistema.
Systemctl žurnalų peržiūros metodai
Yra du būdai peržiūrėti sistemos žurnalus „Linux“ sistemoje:
Systemctl pateikia naujausius konkrečios paslaugos žurnalus, o journalctl pateikia išsamius visų paslaugų ir konkrečios paslaugos žurnalus visoje sistemoje.
Išnagrinėsiu abi komunalines paslaugas, kad peržiūrėčiau sistemos žurnalus. Tačiau pirmiausia supraskime pagrindinį skirtumą tarp systemctl ir journalctl komandų.
Kas yra systemctl
„Systemctl“ yra komandų eilutės įrankis, valdantis sistemos paslaugas, pvz., įgalinti arba išjungti paslaugą ir peržiūrėti būseną. The systemctl būsena komanda taip pat išspausdina kelias paslaugos žurnalo eilutes išvesties apačioje, o šis žurnalas yra po paskutinio įkrovimo. Tačiau šios paslaugos žurnalo eilutės yra tik po dabartinės įkrovos.
Kas yra Journalctl
Journalctl yra komandų eilutės įrankis, naudojamas sistemosd surinktiems žurnalams spausdinti. Palyginti su systemctl, ji pateikia išsamią išvestį su filtravimo parinktimis. Ši priemonė skirta:
- Skaityti žurnalus (seniausias žurnalas pateikiamas pirmiau)
- Stebėti žurnalus
- Filtruokite žurnalus pagal laiką, paslaugą arba vartotoją
Sistema renka žurnalus iš branduolio, paslaugų ir demonų ir saugo juos centralizuotoje vietoje.
Kaip peržiūrėti paslaugos žurnalą naudojant systemctl
Bendroji sintaksė, skirta rasti paslaugos žurnalą naudojant systemctl naudingumas paminėtas žemiau.
systemctl būsena [ paslaugos pavadinimas ]Pavyzdžiui, norėdami peržiūrėti žurnalo informaciją smbd.service naudokite toliau pateiktą komandą.
systemctl statusas smbd.service
Norėdami gauti išvestį be puslapių, pridėkite – be puslapių parinktis komandoje.
systemctl statusas smbd.service -- be puslapių
Kaip peržiūrėti paslaugos žurnalą naudojant journalctl
Norėdami peržiūrėti konkrečios systemd paslaugos žurnalą, naudokite Journalctl su -į komandos ir tarnybos arba padalinio pavadinimas.
Journalctl -į [ paslaugos pavadinimas ]Aukščiau pateiktoje komandoje -į vėliava, trumpinys – vienetas naudojamas filtruoti Journalctl išvesti vieneto pavadinimu.
Pavyzdžiui, norėdami atspausdinti žurnalą smbd demonas, aš pakeisiu [vieneto pavadinimas] su smbd.service .
Journalctl -į smbd.service
Išvestyje galima pastebėti, kad seniausias įrašas pateikiamas pirmiausia, o tada registruojamas po kiekvieno įkrovos sąrašo.
Norėdami gauti naujausią įrašą, pirmiausia naudokite -Tai yra trumpai – puslapių pabaiga.
Journalctl -į smbd.service -Tai yra
Jei norite praleisti puslapius išvesties, tiesiog pridėkite – be puslapių aukščiau minėtose komandose.
Norėdami nuolat spausdinti žurnalo įrašus realiuoju laiku -f trumpai – sekti .
Journalctl -į smbd.service -fFiltravimą galima dar labiau išplėsti naudojant -b vėliavėlę – batas , kuri spausdina žurnalus pagal dabartinę įkrovą.
Journalctl -į [ vieneto pavadinimas ] -bIšspausdinkime žurnalus smbd.service iš neseniai įkrovos.
Journalctl -į smbd.service -b
Aukščiau pateikta išvestis primena išvestį, kurią gauname naudodami systemctl būsena komandą.
Norėdami gauti išsamią žurnalo apžvalgą, naudokite -x trumpai – katalogas variantas.
Journalctl -į smbd.service -xTaip bus pridėtas trumpas žurnalo aprašymas.
Dabar, norint spausdinti žurnalus pagal laiką naudojant Journalctl, yra dvi parinktys, -S trumpai -nuo ir -IN trumpai – iki .
Journalctl -į [ vieneto pavadinimas ] -S '[metai-mėnuo-diena] [valandos: minutės: sekundės]'Pavyzdžiui, norėdami peržiūrėti vieneto žurnalus smbd iš 2024:01:30 12:05:00 .
Journalctl -į smbd.service -S „2024:01:30 12:05:00“
Išvada
Norėdami peržiūrėti paslaugos sisteminius žurnalus, yra dvi pagrindinės paslaugų programos: journalctl ir systemctl. Journalctl yra specialiai sukurtas peržiūrėti sistemos žurnalus. Tačiau systemctl taip pat turi galimybę spausdinti paslaugos žurnalą. Norėdami atspausdinti paslaugos naudojimo žurnalą, Journalctl -u [vieneto pavadinimas] ir systemctl [vieneto pavadinimas].