PunktDe Kontakt LogoKontakt
Schließen
Einfach Suchbegriff eingeben und Enter drücken
Abbrechen

logrotate

Wir empfehlen die Verwendung von logrotate. Die logrotate-Konfiguration ist unter /usr/local/etc/logrotate.conf abgelegt. Diese bindet gegebenenfalls weitere Konfigurationen unter /usr/local/etc/logrotate.d/ ein. In diesem Verzeichnis sollte je Dienst eine eigene Konfigurationsdatei erstellt werden. Konfigurationen für die üblichen Dienste wie php-fpm, nginx, usw. sind dort bereits hinterlegt und aktiv. Am Beispiel von nginx ergibt sich durch Vererbung aus /usr/local/etc/logrotate.conf

daily
rotate 7
create
compress
include /usr/local/etc/logrotate.d

und /usr/local/etc/logrotate.d/nginx.conf

/var/log/nginx/*.log {
  missingok
  notifempty
  copytruncate
}

Sofern die Bedeutung  aus den Namen der Konfigurationsparameter nicht ersichtlich ist, verweisen wir hier auf die logrotate Manpage.

Aktiviert wird logrotate durch einen cronjob in der crontab des Benutzers root:

sudo crontab -e -u root
5 0 * * * /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf > /dev/null 2>&1

newsyslog

Alternativ zu logrotate kann auch newsyslog genutzt werden. Hier ist die Konfiguration am Beispiel des nginx-Logfiles erklärt.

Die Konfigurationsdateien werden im Verzeichnis /usr/local/etc/newsyslog.conf.d abgelegt. Auch hier sollte je Dienst eine eigene Konfigurationsdatei erstellt werden. Falls das Verzeichnis noch nicht besteht, muss es angelegt werden:

mkdir -p /usr/local/etc/newsyslog.conf.d

Die Konfigurationsdatei für nginx sieht beispielsweise so aus:

/var/log/nginx-access.log               644  7     *    @T00  JC    /var/run/nginx.pid
/var/log/nginx-error.log                644  7     *    @T00  JC    /var/run/nginx.pid

/usr/local/etc/newsyslog.conf.d/nginx

Beschreibung der Spalten:

/var/log/nginx-access.log

6447*@T00 JC/var/run/nginx.pid
Die zu rotierende QuelldateiBerechtigungen für ZieldateienWie viele Dateien behalten werden sollenGröße der Datei, ab der rotiert wird. (Unabhängig von der Größe rotieren) Wann soll die Rotation stattfinden (Hier: Täglich 0:00)Flags
J = komprimieren
C = Datei neu erstellen
Pfad zur Pid für Signals nach der Rotation



Eine detaillierte Beschreibung der newsyslog Konfiguration findet sich in der newsyslog Manpage.