Inhaltsverzeichnis
Wie rotiert man Logs in Linux?
Zunächst müssen wir prüfen, ob logrotate auf dem Server installiert ist oder nicht. Wir werden die Logdateien mit dem logrotate verwalten.
Diese Methode kann auch in centos 6 verwendet werden. Alle Befehle sind die gleichen und der Prozess ist auch der gleiche.
Wie prüft man, ob logrotate installiert ist?
whereis logrotate
Wenn logrotate fehlt, dann installieren Sie es mit dem unten stehenden Befehl. Überspringen Sie diesen Schritt, wenn es bereits installiert ist.
yum update && yum install logrotate
Bearbeiten Sie die httpd.conf-Datei
vim /etc/httpd/conf/httpd.confinclude /etc/logrotate.d
Bearbeiten Sie die Logrotate-Datei für den Apache-Server
cd /etc/logrotate.d/httpd/var/log/httpd/*log {missingoknotifemptysharedscriptsdelaycompresspostrotate/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || trueendscript}/var/www/html/logs/*.log {dailyrotate 3size 10Mcompressdelaycompresspostrotate/bin/systemctl reload httpd reload > /dev/null 2>/dev/null || trueendscript}
Prüfen Sie im Log
was passiert, wenn logrotate jetzt ausgeführt wird. Versuchen Sie, die Option -d zu verwenden (Sie können logrotate tatsächlich ausführen, indem Sie diese Option weglassen):
logrotate -d /etc/logrotate.d/apache2.conf
Logrotate Wichtige Begriffe.
Das Log zu rotieren bedeutet, dass alte Logs nach einer gewissen Zeit in die Datei gezippt werden. Dies hilft uns, die Logs sehr effektiv zu pflegen.
missingok – keinen Fehler ausgeben, wenn die Logdatei fehlt
notifempty – Logdatei nicht rotieren, wenn sie leer ist
compress – Alte Versionen von Logdateien werden standardmäßig mit gzip(1) komprimiert
size – Logdatei wird nur rotiert, wenn sie größer als 20k wird
daily – sorgt für tägliche Rotation
create – erstellt eine neue Logdatei mit den Rechten 600, wobei Eigentümer und Gruppe der Benutzer root ist
copy – erstellt eine Kopie der Logdatei, ändert aber das Original überhaupt nicht.
mail <email@address> – Wenn ein Log nicht mehr existiert, wird es an die Adresse geschickt.
olddir <directory> – Logs werden zur Rotation in das <directory> verschoben.
postrotate/endscript – Die Zeilen zwischen postrotate und endscript werden nach dem Log ausgeführt