Ich habe einen Tomcat-Server, der Zugriffsprotokolle über ein Ventil erstellt ( org.apache.catalina.valves.FastCommonAccessLogValve ). Dieses Ventil sorgt dafür, dass die Zugriffsprotokolldatei gedreht, aber nicht komprimiert oder nach einiger Zeit gelöscht wird.
Im Moment habe ich einen Cron-Job, mit find [...] -mtime +30 [...]
dem die Protokolle komprimiert und gelöscht werden. Ich würde lieber logrotate verwenden, damit sich die Protokollrotation für alle Protokolle an einem zentralen Ort befindet. Ich mag es nicht, eine separate Lösung nur für Tomcat zu haben.
Ich habe versucht, die Dokumentation zu logrotate zu lesen, bin aber immer noch etwas verloren. Kann ich logrotate nur zum Komprimieren und Bereinigen von Protokolldateien verwenden? Wie würde ich das machen?
Oder gibt es ein Tomcat-Zugriffsprotokollventil, das Protokolldateien komprimiert und bereinigt?
Danke für deine Hilfe !
Antworten:
Ziemlich einfach, dass ich solche Arbeiten gesehen habe.
Erstellen Sie in /etc/logrotate.d eine Datei mit dem Namen tomcat, die Folgendes enthält: -
Dies wird täglich ausgeführt , komprimiert die Datei und hat einen Wert von 7 Tagen ( 7 drehen ). copytruncate bedeutet, dass die Originaldatei kopiert und dann abgeschnitten wird, sodass Tomcat nicht neu gestartet werden muss. fehlendes ok wird nicht fehlerhaft, wenn es nicht da ist.
Das access.log-Ventil kann durch Hinzufügen von drehbar = falsch geändert werden, um nicht zu drehen: -
quelle
Geändertes TimP-Skript - Löschen sehr alter Dateien hinzugefügt, Scan nach alten komprimierten Dateien hinzugefügt.
quelle
Ich wollte die Tomcat-Konfiguration nicht ändern, also habe ich ein Skript erstellt, das die gedrehten Dateien komprimiert
quelle
Es ist überraschend einfach. Sagen Sie logrotate einfach, welche Dateien Sie speziell drehen möchten.
nocreate
weist logrotate an, nach dem Verschieben der alten Datei keine leere Datei neu zu erstellen (wenn Sie Dateien in einen Unterordner drehen).quelle
Für die Komprimierung von local_access_log.YYYY-MM-DD.txt habe ich dieses Skript geschrieben, nachdem ich diesen Beitrag gesehen habe: -
quelle
Eine einfache Lösung finden Sie hier. Dies beinhaltet auch die Option zum Hochladen von s3.
https://yottabrain.org/tomcat/tomcat-log-backup/
quelle