Wie kann ich die Größe der Nginx-Zugriffsprotokolldatei begrenzen und komprimieren?


18

Ich hoffe, eine Anleitung zu erhalten, wie ich das Abschneiden und Versenden von Nachrichten in den Zugriffsprotokollen meiner Domains einrichten kann. Ich stelle fest, dass die Nginx-Kernzugriffsprotokolle standardmäßig aufgeteilt und komprimiert werden, aber meine individuellen Zugriffsprotokolle wachsen weiter.

Ist dies etwas, das eingerichtet werden kann und von Nginx oder etwas anderem auf meinem System gehandhabt wird, das seine Kernprotokolle verwaltet?


Verwenden logrotate?
Michael Hampton

Antworten:


25

/etc/logrotate.d/nginx

/var/log/nginx/access_log {
    rotate 7
    size 5k
    dateext
    dateformat -%Y-%m-%d
    missingok
    compress
    sharedscripts
    postrotate
        test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}

1
Genial. Logrotate war neu für mich. Macht jetzt vollkommen Sinn. Vielen Dank!
Hund

man logrotateFür weitere Details.
Seth

1
Ich musste Folgendes tun, um mit der neuen Konfiguration zu beginnen:sudo logrotate -v -f /etc/logrotate.d/nginx
talsibony

Der Befehl, mit dem die Protokolle gedreht werden, lautet "kill -USR1 /var/run/nginx.pid". Dies bricht den Nginx-Prozess nicht ab, sondern sendet ihm stattdessen ein Signal, das ihn veranlasst, seine Protokolldateien neu zu laden. Dadurch werden neue Anforderungen in der aktualisierten Protokolldatei protokolliert. Quelle
Edson Horacio Junior

Könnte jemand erklären, was dies sind und was dies tut?
Esqarrouth
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.