Εισαγωγή
Εγκατάσταση
Κατανόηση Logrotate
Διαχείριση αρχείων καταγραφής
συμπέρασμα
Εισαγωγή
Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται αρχεία καταγραφής με βάση προσαρμοσμένους κανόνες/ρυθμίσεις από το αρχείο ρυθμίσεών του.
Μερικές από τις χρήσιμες ρυθμίσεις του περιλαμβάνουν αυτόματη περιστροφή, συμπίεση, αφαίρεση και αποστολή αρχείων καταγραφής.
Εγκατάσταση
Τα περισσότερα συστήματα Linux διαθέτουν το Logrotate εγκατεστημένο από προεπιλογή. Ελέγξτε εάν το έχετε εγκαταστήσει στην παρουσία του Vultr εκδίδοντας την logrotateεντολή. Θα δείτε μια έξοδο με την έκδοση του Logrotate που εκτελεί ο διακομιστής σας.
Εάν δεν το έχετε εγκαταστήσει, ακολουθήστε τα παρακάτω βήματα για να προχωρήσετε στην εγκατάσταση.
Σε συστήματα Debian/Ubuntu:
sudo apt-get update
sudo apt-get install logrotate
Σε συστήματα Redhat/CentOS:
sudo yum update
sudo yum install logrotate
Κατανόηση Logrotate
Τα κινούμενα μέρη που κάνουν το logrotate να λειτουργεί είναι:
Το πραγματικό εργαλείο logrotate.
Το αρχείο ρυθμίσεων του Logrotate βρίσκεται στο /etc/logrotate.conf. Αυτό το αρχείο περιέχει τις ρυθμίσεις παραμέτρων για όλα τα αρχεία καταγραφής που διαχειρίζεται το Logrotate.
Μια καθημερινή εργασία cron /etc/cron.daily/logrotateπου εκδίδει την εντολή logrotate για εκτέλεση με βάση τις ρυθμίσεις στο αρχείο διαμόρφωσής της. Εάν αυτή η εργασία cron δεν υπάρχει στο σύστημά σας, δημιουργήστε την και προσθέστε απόσπασμα κώδικα παρακάτω σε αυτήν.
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
Περισσότερα για τη Διαμόρφωση
Αν ρίξετε μια ματιά μέσα /etc/logrotate.conf, θα δείτε ότι έχει τη γραμμή include /etc/logrotate.dμέσα. Αυτό που κάνει αυτή η γραμμή είναι να λέει στο Logrotate να κοιτάξει μέσα στον /etc/logrotate.dκατάλογο και να εκτελέσει κάθε αρχείο διαμόρφωσης σε αυτόν. Αυτός ο κατάλογος είναι συνήθως όπου οι εφαρμογές που είναι εγκατεστημένες στο σύστημα linux σας προσθέτουν τις διαμορφώσεις logrotate τους. Για παράδειγμα, ο Apache2 θα δημιουργήσει συνήθως ένα /etc/logrotate.d/apacheαρχείο διαμόρφωσης κατά την εγκατάσταση.
Διαχείριση αρχείων καταγραφής
Για να δοκιμάσουμε το Logrotate, θα:
Δημιουργήστε ένα νέο αρχείο καταγραφής δοκιμής με 1MB ή τυχαία δεδομένα:
sudo base64 /dev/urandom | head -c 1000000 > /tmp/testfile.log
Δημιουργήστε μια νέα διαμόρφωση Logrotate εκτελώντας το sudo nano /etc/logrotate.d/testlog. Αντιγράψτε το παρακάτω απόσπασμα σε κενό αρχείο και πατήστε Ctrl + X για αποθήκευση και έξοδο.
/tmp/testfile.log {
size 1k
copytruncate
missingok
rotate 5
}
Οι επιλογές διαμόρφωσης στο παραπάνω απόσπασμα καθοδηγούν το Logrotate να:
size 1k: Rotate log file if size is greater than or equal to 1k.
missingok: Ignore error messages if testfile.log does not exist.
copytruncate: Create a copy of current log file and then truncate it. This comes in handy when an application cannot close its log file because it continuously appends to it.
rotate 5: limit the number of log file rotations to 5. This will delete old versions of log files greater than 5 days.
ΣΗΜΕΙΩΣΗ: Μπορείτε να δείτε όλες τις επιλογές διαμόρφωσης για logrotate εδώ .
Εκτελέστε την εντολή Logrotate με μη αυτόματο τρόπο:
sudo logrotate /etc/logrotate.conf
Αφού εκτελέσετε την παραπάνω εντολή, παραθέστε όλα τα αρχεία στον κατάλογο tmp ls -l /tmpγια να επιβεβαιώσετε ότι το testfile.log έχει πράγματι περιστραφεί. Θα πρέπει να δείτε μια λίστα παρόμοια με την ακόλουθη που δείχνει ότι testfile.logέχει πράγματι περιστραφεί. Αυτό θα συνεχίζεται καθημερινά και θα διατηρεί τα τελευταία 5 αντίγραφα.
[root@vultr ~]# ls -l /tmp
-rw-r--r-- 1 root root 0 Nov 14 23:31 testfile.log
-rw-r--r-- 1 root root 1000000 Nov 14 23:30 testfile.log-20141114
-rw-r--r-- 1 root root 634 Nov 10 00:23 vultr_ipv6
-rw-------. 1 root root 0 Oct 15 20:44 yum.log
συμπέρασμα
Τα αρχεία καταγραφής μπορούν γρήγορα να δημιουργήσουν προβλήματα σε έναν διακομιστή καθιστώντας πολύ μεγάλα και προκαλώντας προβλήματα χώρου στο δίσκο. Η διαχείριση των αρχείων καταγραφής είναι ζωτικής σημασίας για κάθε σύστημα, αλλά ακόμα καλύτερο είναι η αυτοματοποίηση αυτής της διαχείρισης. Το Logrotate διευκολύνει την περιστροφή, την αρχειοθέτηση και τη διαγραφή αρχείων καταγραφής.
Σε σενάριο Lami Adabonyan