Παραδείγματα Logrotate Linux

Paradeigmata Logrotate Linux



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

Το logrotate είναι ένα εργαλείο γραμμής εντολών του Linux για τη διαχείριση των εγγραφών καταγραφής. Αυτό το εργαλείο βοηθά στην εκτέλεση διαφορετικών τύπων εργασιών σε καταχωρίσεις καταγραφής από τον διαχειριστή, όπως ο περιορισμός των περιστρεφόμενων αρχείων καταγραφής, η συμπίεση των περιστρεφόμενων αρχείων καταγραφής, η διαγραφή των περιττών αρχείων καταγραφής, η εκτέλεση του συγκεκριμένου σεναρίου φλοιού με βάση τα αρχεία καταγραφής κ.λπ. Οι χρήσεις της εντολής 'logorate' για τη διαχείριση των αρχείων καταγραφής με διαφορετικούς τρόπους εμφανίζονται σε αυτό το σεμινάριο χρησιμοποιώντας πολλά παραδείγματα.

Ελέγξτε την εγκατεστημένη έκδοση Logrotate

Η εντολή «logrotate» είναι εγκατεστημένη από προεπιλογή στη νέα έκδοση του λειτουργικού συστήματος Ubuntu. Εκτελέστε την ακόλουθη εντολή για να ελέγξετε την εγκατεστημένη έκδοση της εντολής 'logrotate':







$ logrotate --εκδοχή



Οι εγγραφές αρχείου καταγραφής των διαφορετικών εφαρμογών αποθηκεύονται στο φάκελο '/var/log' από προεπιλογή. Το παρακάτω παρόμοιο περιεχόμενο θα εμφανιστεί εάν ελέγξετε το περιεχόμενο του φακέλου.



$ ls / ήταν / κούτσουρο





Ορίστε τη διαμόρφωση 'Logrotate'.

Ρύθμιση τιμής Σκοπός
καθημερινά/εβδομαδιαία/μηνιαία/ετησίως Καθορίζει τη χρονική διάρκεια για την περιστροφή των αρχείων καταγραφής.
περιστρέψτε τον αριθμό Καθορίζει τον αριθμό των αρχείων που θα διατηρηθούν πριν αφαιρέσετε τα παλιά αρχεία καταγραφής.
συμπιέζω Χρησιμοποιείται για τη συμπίεση των αρχείων καταγραφής.
συμπίεσηcmd Χρησιμοποιείται για να ορίσετε την εντολή «συμπίεση». Το gzip είναι η προεπιλεγμένη εντολή.
αποσυμπίεσηcmd Χρησιμοποιείται για να ορίσετε την εντολή 'αποσυμπίεση'. Το gunzip είναι η προεπιλεγμένη εντολή.
καθυστερημένη συμπίεση Χρησιμοποιείται για την καθυστέρηση της διαδικασίας συμπίεσης των αρχείων καταγραφής.
η ειδοποίηση είναι άδεια Χρησιμοποιείται για να μην περιστρέφεται το κενό αρχείο.
μου λείπει Εάν έχει οριστεί, δεν δημιουργείται σφάλμα για τα αρχεία καταγραφής που λείπουν.
Μέγεθος Χρησιμοποιείται για να ορίσετε το όριο για την έναρξη της περιστροφής των αρχείων καταγραφής.
κείμενο ημερομηνίας Χρησιμοποιείται για την προσθήκη μιας τιμής ημερομηνίας ως επίθημα του περιστρεφόμενου αρχείου.
copytuncate Χρησιμοποιείται για τη δημιουργία αντιγράφου του αρχικού αρχείου.
προπεριστρεφόμενο Χρησιμοποιείται για την εκτέλεση ενός σεναρίου πριν από την περιστροφή των αρχείων καταγραφής.
μεταστροφή Χρησιμοποιείται για την εκτέλεση ενός σεναρίου μετά την περιστροφή των αρχείων καταγραφής.
δημιουργώ Χρησιμοποιείται για τη δημιουργία αρχείων καταγραφής με δικαιώματα root.

Σύνταξη:

Η σύνταξη της εντολής 'logrotate' δίνεται ως εξής:



logrotate [ ΕΠΙΛΟΓΗ ] config_file_path

Διαφορετικοί τύποι επιλογών μπορούν να χρησιμοποιηθούν για διαφορετικούς σκοπούς με την εντολή 'logrotate'.

Επιλογές Logrotate

Μερικές χρήσιμες επιλογές της εντολής «logrotate» αναφέρονται παρακάτω:

-f, –δύναμη Χρησιμοποιείται για να κάνει την περιστροφή με δύναμη όταν απαιτείται.
-d, –debug Χρησιμοποιείται για την ενεργοποίηση της λειτουργίας εντοπισμού σφαλμάτων κατά τη διάρκεια της περιστροφής.
-m, –mail <εντολή> Χρησιμοποιείται για την αποστολή email κατά τη διάρκεια της εναλλαγής.
-s, –state Χρησιμοποιείται για εναλλακτικά αρχεία κατάστασης.
-χρήση Χρησιμοποιείται για την εκτύπωση των πληροφοριών χρήσης.
-?, -βοήθεια Χρησιμοποιείται για την εκτύπωση των βοηθητικών μηνυμάτων.
-v, –περιεκτικός Χρησιμοποιείται για εκτύπωση σε αναλυτική λειτουργία.

Logrotate Configuration File

Το κύριο αρχείο διαμόρφωσης logrotate βρίσκεται στη θέση '/etc/logrotate.conf'. Εκτελέστε την ακόλουθη εντολή για να ανοίξετε το αρχείο στον nano editor:

$ νανο / και τα λοιπά / logrotate.conf

Η προεπιλεγμένη ρύθμιση της εντολής 'logrotate' εμφανίζεται στο αρχείο 'logrotate.conf'. Η οδηγία 'include' χρησιμοποιείται στο αρχείο για την ανάκτηση της διαμόρφωσης που βρίσκεται στον κατάλογο '/etc/logrotate.d'.

Παράδειγμα 1: Δημιουργήστε ένα απλό αρχείο διαμόρφωσης Logrotate

Δημιουργήστε ένα δείγμα αρχείου καταγραφής με το όνομα '/var/log/test.log' με τα δείγματα δεδομένων καταγραφής. Εκτελέστε την ακόλουθη εντολή για να ανοίξετε το nano editor για να δημιουργήσετε ένα νέο αρχείο 'logrotate.conf' στη θέση του φακέλου '/etc/tmp'. Δημιουργήστε το φάκελο '/tmp' με δικαιώματα root εάν δεν έχει δημιουργηθεί πριν.

$ νανο / και τα λοιπά / tmp / logrotate.conf

Προσθέστε το ακόλουθο περιεχόμενο στο αρχείο για το αρχείο '/var/log/test.log'. Σύμφωνα με τη ρύθμιση, το αρχείο 'test.log' θα εναλλάσσεται καθημερινά εάν το μέγεθος του αρχείου υπερβαίνει τα 5K:

/ ήταν / κούτσουρο / δοκιμή.log {

καθημερινά

Μέγεθος

του ρίζα adm

}

Εκτελέστε την ακόλουθη εντολή για να ελέγξετε το μέγεθος του αρχείου καταγραφής:

$ ls -μεγάλο / ήταν / κούτσουρο / δοκιμή.log

Εκτελέστε την εντολή 'logrotate' αφού δημιουργήσετε το αρχείο διαμόρφωσης.

$ sudo logrotate / και τα λοιπά / tmp / logrotate.conf

Εκτελέστε ξανά την ακόλουθη εντολή για να ελέγξετε το μέγεθος του αρχείου καταγραφής μετά την εκτέλεση της εντολής 'logrotate':

$ ls -μεγάλο / ήταν / κούτσουρο / δοκιμή.log

Το μέγεθος του αρχείου 'test.log' είναι 1K+. Έτσι, δεν γίνεται καμία περιστροφή με βάση τη ρύθμιση διαμόρφωσης.

Αλλάξτε την τιμή μεγέθους σε 1K στο αρχείο “/etc/tmp/logrotate.conf” και εκτελέστε ξανά την εντολή “ls” για να ελέγξετε το μέγεθος αρχείου του “/var/log/test.log”. Σύμφωνα με την έξοδο, το αρχείο καταγραφής περιστρέφεται και διαγράφεται επειδή έχει ξεπεραστεί το όριο μεγέθους.

Παράδειγμα 2: Χρήση Logrotate Copytruncate

Δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις για να εμφανιστεί η χρήση του copytruncate. Σύμφωνα με τις νέες ρυθμίσεις, το logrotate δημιουργεί ένα αντίγραφο του αρχικού αρχείου μηδενίζοντας το μέγεθος του αρχικού αρχείου.

/ ήταν / κούτσουρο / δοκιμή.log {

γυρίζω 5

Μέγεθος 1 κ

copytuncate

του ρίζα adm

}

Εκτελέστε την ακόλουθη εντολή για να ελέγξετε το μέγεθος του αρχείου 'test.log':

$ ls -μεγάλο / ήταν / κούτσουρο / δοκιμή.log

Εκτελέστε την εντολή 'logrotate' αφού δημιουργήσετε το αρχείο διαμόρφωσης.

$ sudo logrotate / και τα λοιπά / tmp / logrotate.conf

Εκτελέστε ξανά την ακόλουθη εντολή για να ελέγξετε το μέγεθος του αρχείου 'test.log' αφού εκτελέσετε την εντολή 'logrotate':

$ ls -μεγάλο / ήταν / κούτσουρο / δοκιμή.log

Το αρχικό μέγεθος αρχείου γίνεται 0 μετά την εκτέλεση της εντολής 'logrotate' για τη ρύθμιση copytruncate.

Παράδειγμα 3: Χρήση Συμπίεσης Logrotate

Δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις για να εμφανίσετε τη χρήση της συμπίεσης. Σύμφωνα με τις νέες ρυθμίσεις, το logrotate δημιουργεί ένα αρχείο συμπίεσης του αρχικού αρχείου.

/ ήταν / κούτσουρο / δοκιμή.log {

γυρίζω 5

Μέγεθος 1 κ

συμπιέζω

δημιουργώ 770 ρίζα adm

}

Εκτελέστε την ακόλουθη εντολή για να ελέγξετε τη λίστα των αρχείων και των φακέλων του '/var/log':

$ ls / ήταν / κούτσουρο /

Εκτελέστε την εντολή 'logrotate' αφού δημιουργήσετε το αρχείο διαμόρφωσης.

$ sudo logrotate / και τα λοιπά / tmp / logrotate.conf

Εκτελέστε ξανά την ακόλουθη εντολή για να ελέγξετε τη λίστα με τα αρχεία και τους φακέλους του '/var/log':

$ ls / ήταν / κούτσουρο /

Το συμπιεσμένο αρχείο του αρχείου 'test.log' δημιουργείται με το όνομα 'test.log.1.gz' και το αρχικό αρχείο αφαιρείται.

Παράδειγμα 4: Χρήση Logrotate Dateext

Δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις για να εμφανιστεί η χρήση του κειμένου ημερομηνίας. Σύμφωνα με τις νέες ρυθμίσεις, το logrotate δημιουργεί ένα αρχείο συμπίεσης του αρχικού αρχείου με την τιμή ημερομηνίας.

ήταν / κούτσουρο / δοκιμή.log {

του ρίζα adm

γυρίζω 5

Μέγεθος 1 κ

συμπιέζω

δημιουργώ 770 ρίζα adm

κείμενο ημερομηνίας

}

Εκτελέστε την εντολή 'logrotate' αφού δημιουργήσετε το αρχείο διαμόρφωσης.

$ sudo logrotate / και τα λοιπά / tmp / logrotate.conf

Εκτελέστε την ακόλουθη εντολή για να ελέγξετε τη λίστα των αρχείων και των φακέλων του '/var/log':

$ ls -μεγάλο / ήταν / κούτσουρο /

Το συμπιεσμένο αρχείο του αρχείου 'test.log' δημιουργείται με το όνομα 'test.log.20240129.gz' και το αρχικό αρχείο αφαιρείται.

Παράδειγμα 5: Χρήση του Logrotate Maxage

Δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις για να εμφανιστεί η χρήση του maxage. Σύμφωνα με τις ρυθμίσεις, το logrotate διατηρεί πέντε καταχωρήσεις καταγραφής εάν το μέγεθος του αρχείου καταγραφής υπερβαίνει το 1K μετά από μία ημέρα.

/ ήταν / κούτσουρο / δοκιμή.log {

του ρίζα adm

γυρίζω 5

Μέγεθος 1 κ

συμπιέζω

maxage 1

}

Εκτελέστε την ακόλουθη εντολή 'logrotate' για να αποθηκεύσετε την έξοδο σε ένα άλλο αρχείο καταγραφής που ονομάζεται 'out.log':

$ sudo logrotate -μικρό = / ήταν / κούτσουρο / έξω.συνδεθείτε / και τα λοιπά / tmp / logrotate.conf

Σύμφωνα με την ακόλουθη έξοδο, το αρχείο «out.log» δημιουργείται μετά την εκτέλεση της εντολής «logrotate»:

Παράδειγμα 6: Χρήση Logrotate Missingok

Δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις. Εδώ, το αρχείο καταγραφής 'testfile.log' δεν υπάρχει στο φάκελο '/var/log'.

/ ήταν / κούτσουρο / testfile.log {

του ρίζα adm

γυρίζω 5

Μέγεθος 1 κ

συμπιέζω

}

Εκτυπώνεται ένα μήνυμα σφάλματος μετά την εκτέλεση της εντολής «logrotate».

Προσθέστε τη ρύθμιση 'missingok' στο αρχείο διαμόρφωσης logrotate και εκτελέστε ξανά την εντολή 'logrotate'. Δεν εκτυπώνεται σφάλμα για το αρχείο καταγραφής που λείπει.

Παράδειγμα 7: Χρήση Logrotate Prerotate

Δημιουργήστε ένα αρχείο Bash με το όνομα 'test.sh' με το ακόλουθο σενάριο που εκτυπώνει ένα απλό μήνυμα. Το αρχείο χρησιμοποιείται σε αυτό το παράδειγμα logrotate για να δείξει τη χρήση του prerotate στο αρχείο διαμόρφωσης logrotate.

δοκιμή.sh



#!/bin/bash

ηχώ 'logrotate παραδείγματα...'

Αφού δημιουργήσετε το αρχείο, εκτελέστε την ακόλουθη εντολή για να ορίσετε την άδεια εκτέλεσης αυτού του αρχείου για όλους τους χρήστες:

$ chmod α+χ / Σπίτι / κατανόηση / τεστ.sh

Τώρα, δημιουργήστε ή τροποποιήστε το αρχείο '/etc/tmp/logrotate.conf' με τις ακόλουθες ρυθμίσεις. Σύμφωνα με τις ρυθμίσεις, το logrotate διατηρεί πέντε εγγραφές καταγραφής εάν το μέγεθος του αρχείου καταγραφής υπερβαίνει το 1K και το αρχείο 'test.sh' εκτελείται πριν από την περιστροφή.

/ ήταν / κούτσουρο / δοκιμή.log {

του ρίζα adm

γυρίζω 5

Μέγεθος 1 κ

προπεριστρεφόμενο

/ Σπίτι / κατανόηση / τεστ.sh

κατάληξη

}

Η έξοδος του αρχείου «test.sh» εμφανίζεται μετά την εκτέλεση της εντολής «logrotate»:

συμπέρασμα

Οι διάφορες χρήσεις της εντολής 'logrotate' παρουσιάζονται σε αυτό το σεμινάριο χρησιμοποιώντας πολλά παραδείγματα που θα βοηθήσουν τον χρήστη Linux να γνωρίζει τις χρήσεις της εντολής και να διαχειρίζεται σωστά τα αρχεία καταγραφής.