Τρόπος προβολής αρχείων καταγραφής Systemctl

Tropos Proboles Archeion Katagraphes Systemctl



Το systemd είναι ένα από τα ευρέως διαδεδομένα init συστήματα στο Linux. Το βασικό πλεονέκτημα του systemd είναι η ικανότητά του να διαχειρίζεται τα αρχεία καταγραφής του συστήματος. Συλλέγει όλα τα μηνύματα του πυρήνα και τις διεργασίες του χρήστη σε ένα αρχείο καταγραφής που ονομάζεται Εφημερίδα . ο ημερολογιακά είναι ο δαίμονας που καταγράφει και διαχειρίζεται τα αρχεία καταγραφής σε ένα δυαδικό αρχείο. Αυτός ο δαίμονας έχει το βασικό πλεονέκτημα της αποθήκευσης δεδομένων σε δομημένη και ευρετηριασμένη μορφή, καθιστώντας εύκολη την πρόσβαση και την ανάλυση μέσω του journalctl χρησιμότητα.

Σε αυτόν τον οδηγό, θα καλύψω τον τρόπο προβολής των αρχείων καταγραφής systemd στο Linux χρησιμοποιώντας διαφορετικά βοηθητικά προγράμματα γραμμής εντολών.

Σημείωση: Οι εντολές που αναφέρονται σε αυτόν τον οδηγό εκτελούνται στο Ubuntu. Θα λειτουργούν χωρίς σφάλματα σε όλες τις διανομές Linux που συνοδεύουν το σύστημα systemd init.







Μέθοδοι προβολής αρχείων καταγραφής systemctl

Υπάρχουν δύο προσεγγίσεις για την προβολή των αρχείων καταγραφής του συστήματος στο Linux:



Το systemctl παρέχει τα πιο πρόσφατα αρχεία καταγραφής για συγκεκριμένη υπηρεσία, ενώ το journalctl παρέχει αναλυτικά αρχεία καταγραφής σε όλο το σύστημα για όλες τις υπηρεσίες και τη συγκεκριμένη υπηρεσία.



Θα εξερευνήσω και τα δύο βοηθητικά προγράμματα για να προβάλω τα αρχεία καταγραφής του συστήματος. Αλλά πρώτα, ας καταλάβουμε τη βασική διαφορά μεταξύ των εντολών systemctl και journalctl.





Τι είναι systemctl

Το Systemctl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που διαχειρίζεται τις υπηρεσίες του συστήματος, όπως η ενεργοποίηση ή απενεργοποίηση της υπηρεσίας και η προβολή της κατάστασης. ο κατάσταση systemctl Η εντολή εκτυπώνει επίσης μερικές γραμμές καταγραφής της υπηρεσίας στο κάτω μέρος της εξόδου και αυτό το αρχείο καταγραφής είναι μετά την πρόσφατη εκκίνηση. Ωστόσο, αυτές οι γραμμές καταγραφής της υπηρεσίας προέρχονται μόνο από την τρέχουσα εκκίνηση.

Τι είναι το journalctl

Το journalctl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που χρησιμοποιείται για την εκτύπωση των αρχείων καταγραφής που συλλέγονται από το systemd. Σε σύγκριση με το systemctl, παρέχει λεπτομερή έξοδο με επιλογές φιλτραρίσματος. Αυτό το βοηθητικό πρόγραμμα έχει σχεδιαστεί για:



  • Ανάγνωση αρχείων καταγραφής (το παλαιότερο αρχείο καταγραφής έρχεται πρώτο)
  • Παρακολούθηση αρχείων καταγραφής
  • Φιλτράρετε αρχεία καταγραφής βάσει χρόνου, υπηρεσίας ή χρήστη

Το systemd συλλέγει αρχεία καταγραφής από πυρήνα, υπηρεσίες και δαίμονες και τα αποθηκεύει σε ένα κεντρικό μέρος.

Πώς να δείτε το αρχείο καταγραφής μιας υπηρεσίας χρησιμοποιώντας το systemctl

Η γενική σύνταξη για να βρείτε το αρχείο καταγραφής μιας υπηρεσίας χρησιμοποιώντας το systemctl Η χρησιμότητα αναφέρεται παρακάτω.

κατάσταση systemctl [ Όνομα Υπηρεσίας ]

Για παράδειγμα, για να προβάλετε τις πληροφορίες καταγραφής του smbd.service χρησιμοποιήστε την εντολή που δίνεται παρακάτω.

systemctl status smbd.service

Για να λάβετε έξοδο χωρίς σελιδοποίηση, προσθέστε το –χωρίς σελιδοποίηση επιλογή στην εντολή.

systemctl status smbd.service -- χωρίς τηλεειδοποίηση

Πώς να δείτε το αρχείο καταγραφής μιας υπηρεσίας χρησιμοποιώντας το journalctl

Για να δείτε το αρχείο καταγραφής μιας συγκεκριμένης υπηρεσίας του systemd, χρησιμοποιήστε το journalctl με την -σε εντολή και όνομα υπηρεσίας ή μονάδας.

journalctl -σε [ Όνομα Υπηρεσίας ]

Στην παραπάνω εντολή, το -σε σημαία, συντομογραφία για -μονάδα χρησιμοποιείται για το φιλτράρισμα του journalctl έξοδο με όνομα μονάδας.

Για παράδειγμα, για να εκτυπώσετε το αρχείο καταγραφής του smbd δαίμονας, θα αντικαταστήσω το [όνομα μονάδας] με smbd.service .

journalctl -σε smbd.service

Στην έξοδο, μπορεί να φανεί ότι η παλαιότερη καταχώρηση έρχεται πρώτα και στη συνέχεια καταγράφεται μετά τη λίστα κάθε εκκίνησης.

Για να λάβετε την πιο πρόσφατη καταχώριση, χρησιμοποιήστε πρώτα -Είναι σύντομη για –τέλος σελίδας.

journalctl -σε smbd.service -Είναι

Εάν θέλετε να παραλείψετε τη σελιδοποίηση από την έξοδο, απλώς προσθέστε το –χωρίς σελιδοποίηση στις προαναφερθείσες εντολές.

Για συνεχή εκτύπωση των εγγραφών του ημερολογίου σε χρήση σε πραγματικό χρόνο -φά σύντομη για -ακολουθηστε .

journalctl -σε smbd.service -φά

Το φιλτράρισμα μπορεί να επεκταθεί περαιτέρω χρησιμοποιώντας τη σημαία -b συντόμευση για -μπότα , το οποίο εκτυπώνει τα αρχεία καταγραφής με βάση την τρέχουσα εκκίνηση.

journalctl -σε [ μονάδα-όνομα ] -σι

Ας εκτυπώσουμε αρχεία καταγραφής του smbd.service από την πρόσφατη εκκίνηση.

journalctl -σε smbd.service -σι

Η παραπάνω έξοδος μοιάζει με την έξοδο που παίρνουμε χρησιμοποιώντας το κατάσταση systemctl εντολή.

Για να λάβετε μια λεπτομερή επισκόπηση του αρχείου καταγραφής, χρησιμοποιήστε το σύντομη για -κατάλογος επιλογή.

journalctl -σε smbd.service

Αυτό θα επισυνάψει μια σύντομη περιγραφή του αρχείου καταγραφής.

Τώρα, για να εκτυπώσετε αρχεία καταγραφής βάσει χρόνου χρησιμοποιώντας το journalctl υπάρχουν δύο επιλογές, -ΜΙΚΡΟ σύντομη για -Από και -ΣΕ σύντομη για -μέχρι .

journalctl -σε [ μονάδα-όνομα ] -ΜΙΚΡΟ '[έτος-μήνας-ημέρα] [ώρες:λεπτά:δευτερόλεπτα]'

Για παράδειγμα, για να δείτε τα αρχεία καταγραφής της μονάδας smbd από 2024:01:30 12:05:00 .

journalctl -σε smbd.service -ΜΙΚΡΟ '2024:01:30 12:05:00'

συμπέρασμα

Για να προβάλετε τα αρχεία καταγραφής systemd μιας υπηρεσίας, υπάρχουν δύο κύρια βοηθητικά προγράμματα, το journalctl και το systemctl. Το journalctl έχει σχεδιαστεί ειδικά για την προβολή των αρχείων καταγραφής του systemd. Ωστόσο, το systemctl έχει επίσης την επιλογή εκτύπωσης του αρχείου καταγραφής της υπηρεσίας. Για να εκτυπώσετε το αρχείο καταγραφής χρήσης μιας υπηρεσίας, journalctl -u [όνομα μονάδας] και systemctl [όνομα μονάδας].