1. Einführung in das Logrotate-Tool Logrotate ist ein Tool zur Verwaltung von Protokolldateien. Es ist ein Protokollschneidetool, das standardmäßig in Linux enthalten ist. Wird zum Rotieren, Komprimieren und Löschen alter Dateien sowie zum Erstellen neuer Protokolldateien verwendet. Wir können Protokolldateien nach Größe, Anzahl der Tage usw. auslagern, um die Protokolldateiverwaltung zu vereinfachen. Dies geschieht normalerweise über geplante Cron-Aufgaben, sodass das Protokollschneiden nach Stunden, Tagen usw. aufgeteilt werden kann. 2. Logrotate-Betriebsmechanismus Das System führt logrotate regelmäßig aus, normalerweise einmal täglich. So wird das System im Alltag umgesetzt. crontab führt das Skript täglich in regelmäßigen Abständen im Verzeichnis /etc/cron.daily aus. In diesem Verzeichnis befindet sich eine Datei namens logrotate. [root@test01 ~]# cat /etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? wenn [ $EXITVALUE != 0 ]; dann /usr/bin/logger -t logrotate "ALERT wurde mit [$EXITVALUE] abnormal beendet" fi Ausfahrt 0 Beim tatsächlichen Ausführen ruft Logrotate die Konfigurationsdatei /etc/logrotate.conf auf. 3. Zusammensetzung von Logrotate /usr/sbin/logrotate #Programmspeicherort; /etc/cron.daily/logrotate #Standardmäßig führt Cron logrotate einmal täglich aus; /etc/logrotate.conf #Globale Konfigurationsdatei; /etc/logrotate.d/ #Verwenden Sie Ihr eigenes Konfigurationsdateispeicherverzeichnis, um die globale Konfiguration zu überschreiben; Hinweis: logrotate.d ist ein Verzeichnis. Alle Dateien in diesem Verzeichnis werden zur Ausführung automatisch in /etc/logrotate.conf eingelesen. Wenn außerdem einige Details in den Dateien in /etc/logrotate.d/ nicht festgelegt sind, werden die Einstellungen in der Datei /etc/logrotate.conf als Standardwerte verwendet. 4. Logrotate-Befehlsformat logrotate [OPTION...] <Konfigurationsdatei> Beispiel: Sie möchten die Rotation von Protokolldateien erzwingen, ohne darauf zu warten, dass logrotate dies tut. [root@test01 ~]# /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat #Ich verwende es zum Testen. Hinweis: CentOS7-Befehle befinden sich in /usr/sbin/. 5. Beschreibung allgemeiner Konfigurationsparameter Das Wichtigste für die Implementierung der Logrotate-Funktion sind ihre Konfigurationsparameter Im Folgenden sind die am häufigsten verwendeten Konfigurationsparameter aufgeführt:
6. Installieren und konfigurieren Sie Logrotate #yum-Installation [root@test01 ~]# yum -y install logrotate #Auf der Maschine ist Tomcat bereits installiert. Konfigurieren Sie nun die Konfigurationsdatei zum Ausschneiden von Tomcat-Protokollen. [root@test01 ~]# vim /etc/logrotate.d/tomcat Hinweis: Die Konfigurationsdatei für logrotate ist /etc/logrotate.conf und muss normalerweise nicht geändert werden. Die Einstellungen für die Protokolldateirotation befinden sich in separaten Konfigurationsdateien, die im Verzeichnis /etc/logrotate.d/ abgelegt werden. [root@test01 ~]# mkdir -p /var/log/tomcat/oldlog [root@test01 ~]# cat /etc/logrotate.d/tomcat /usr/local/tomcat8/logs/catalina.out { #Zu löschende Protokollpfade. Wenn es mehrere gibt, trennen Sie diese durch Leerzeichen. notifempty #Wenn das Protokoll leer ist, wird es nicht rotiert (d. h., leere Protokolle werden nicht gelöscht). rotate 5000 #Behalte die vorherigen Daten während der Rotation maximal 5000 Mal bei missingok #Wenn ein Protokoll verloren geht, fahre mit dem Rollen des nächsten Protokolls fort, ohne einen Fehler zu melden compress #Aktiviere die Komprimierung, die sich nach der Rotation auf das alte Protokoll bezieht. Die Standardkomprimierung ist hier gzip dateext #Verwende das aktuelle Datum als Benennungsformat dateformat .%Y%m%d-%H dot #Verwende es mit dateext, erscheint sofort in der nächsten Zeile, definiert den Dateinamen nach dem Ausschneiden der Datei, muss mit dateext verwendet werden, unterstützt nur %Y %m %d %s olddir /var/log/tomcat/oldlog #Die Protokolldateien werden nach der Rotation im angegebenen Verzeichnis abgelegt} Hinweis: Ich habe in dieser Konfiguration nicht festgelegt, wie oft geschnitten werden soll, aber es wird einmal am Tag geschnitten, denn wenn die Datei /etc/logrotate.d/tomcat nicht konfiguriert ist, wird standardmäßig jeden Tag die Datei /etc/cron.daily/logrotate ausgeführt und diese Datei wird einmal am Tag geschnitten. #Erzwingen Sie die Ausführung des Schneidens und prüfen Sie, ob ein Protokoll in /var/log/tomcat/oldlog vorhanden ist [root@test01 ~]# /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat Konfigurationsdatei /etc/logrotate.d/tomcat wird gelesen olddir ist jetzt /var/log/tomcat/oldlog Zuweisen einer Hash-Tabelle für die Statusdatei, Größe 15360 B Handhabung von 1 Protokollen Rotationsmuster: /usr/local/tomcat8/logs/catalina.out über die Befehlszeile erzwungen (5000 Rotationen) olddir ist /var/log/tomcat/oldlog, leere Logdateien werden nicht rotiert, alte Logs werden entfernt berücksichtigt Protokoll /usr/local/tomcat8/logs/catalina.out Protokoll muss gedreht werden rotierendes Protokoll /usr/local/tomcat8/logs/catalina.out, log->rotateCount ist 5000 Konvertiert '.%Y%m%d-%H点' -> '.%Y%m%d-%H点' dateext-Suffix „.20181226-15“ Glob-Muster '.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]Punkt' Glob konnte alte rotierte Protokolle nicht finden fscreate-Kontext auf unconfined_u:object_r:usr_t:s0 gesetzt Umbenennen von /usr/local/tomcat8/logs/catalina.out in /var/log/tomcat/oldlog/catalina.out.20181226-15:00. Komprimieren des Protokolls mit: /bin/gzip. Standard-Erstellungskontext auf unconfined_u:object_r:usr_t:s0 setzen Standard-Erstellungskontext festlegen # Schnittergebnisse anzeigen #Löschen Sie die zuvor ausgeschnittene Datei, da die Datei beim erneuten Ausschneiden dieselbe ist (catalina.out.20181226-15.gz), sodass das Ausschneiden nicht erfolgreich sein wird. [root@test01 ~]# rm -rf /var/log/tomcat/oldlog/catalina.out.20181226-15点.gz [root@test01 ~]# ls /var/log/tomcat/oldlog/ [root@test01 ~] #Legen Sie eine geplante Aufgabe fest, die einmal pro Minute ausschneidet (Hinweis: Das Protokoll muss Inhalt haben, da die zuvor definierte leere Protokolldatei nicht ausgeschnitten wird). [root@test01 ~]# crontab –e */1 * * * * /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat >>/var/log/tomcat/oldlog/cutting.log # Alle zwei Stunden schneiden [root@test02 ~]# crontab -l 0 */2 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat >> /root/chenjiaxin/cutting.log #Ergebnisse des zeitgesteuerten Schneidens anzeigen Die obige Einstellung, einmal pro Minute zu schneiden, dient natürlich dazu, dass der Effekt im Experiment möglichst schnell sichtbar wird. Tatsächlich ist es notwendig, die Häufigkeit des Holzfällens entsprechend den Anforderungen des Unternehmens festzulegen! Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Grundlegendes Installationstutorial zum Dekomprimieren von MySQL-Paketen
>>: Detaillierte Schritte zum Konfigurieren der MySQL-Remoteverbindung unter Alibaba Cloud
1. Aufgetretene Probleme Bei der verteilten Proje...
Zwei Parameter der MySQL-Paging Wählen Sie * aus ...
1 Gespeicherte Prozedur 1.1 Was ist eine gespeich...
Durch Zufall entdeckte ich, dass eine SQL-Anweisu...
Anwendungsszenario In der Datentabelle muss die A...
Nach der Installation von Docker gibt es normaler...
Problembeschreibung In unseren Projekten sind hor...
Trigger können dazu führen, dass vor oder nach de...
Vorwort Je nach Projektbedarf wird Vue-Touch verw...
Sehen wir uns zunächst verschiedene Möglichkeiten...
Zuerst ist die Idee Um diesen Effekt zu erzielen,...
Inhaltsverzeichnis 1. Bild oben 2. Benutzer exist...
Machen Sie sich keine Sorgen, wenn Sie das Wagenr...
1. Farbabstimmungsproblem <br />Eine Webseit...
Inhaltsverzeichnis Vorwort: Spezifische Operation...