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?

Hund
quelle
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
}
Quanten
quelle
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