Logrotate ist ein bei den meisten OS vorinstalliertes Programm, das dir die logs nach einer von dir definierten Periode leert, den Inhalt in eine Datei verschiebt (logname.endung.1) am nächsten Tag in .2.gz (gezippt) umbenennt und die aktuellen logs in die Datei (logname.endung.1) schiebt. Hierbei kannst du definieren:
- Die Periodendauer (daily, weekly, monthly) oder ob die Dateien erst bei einer bestimmten Größe archiviert werden (size ZAHLM/k)
- Ob die Datei umbenannt und eine neue Datei erstellt wird die die Rechte "user:group" hat ODER ob der Inhalt nur kopiert und die Datei geleert wird (parameter "copytruncate")
- Ob ein Script vor oder nach der Ausführung gestartet wird
- Ob das log.1 gleich gezippt wird oder erst das log.2 (delaycompress)
- ob überhaupt gezippt wird (compress)
- wie viele Archive der Vergangenheit erhalten bleiben (rotate ZAHL)
- ob die Datei auch wenn sie leer ist archiveirt werden soll (ifempty) (sinnvoll bei scripten, wenn das Script anhand der Endung den Tag ausrechnet oder du was kompliziertes vorhast)
- ob bei fehlender Datei eine Fehlermeldung ausgegeben werden soll oder nicht (missingok)
Die Konfiguration ist in /etc/logrotate.d zu finden.
Das hier wird dir weiterhelfen: ln - (link) erzeugt einen Verzeichniseintrag einer existierenden Datei unter anderem Namen - LINUX - PRAXIS
Hier eine Anleitung von intern: Implement logrotation for /var/log/pihole.log (Der Pfad dort ist /etc/.pihole/advanced/logrotate, weil logrotate durch pihole angestoßen wird (/usr/sbin/logrotate --force /etc/.pihole/advanced/logrotate))
Dass das Auslesen länger dauert, damit meine ich, dass der lighttp server länger braucht, um die Datei auszulesen und dein Browser länger braucht, das Ganze schön zu sortieren. Du wirst das als vielleicht 5- bis 10-sekündige Verspätung wahrnehmen.