Im Moment benennt logrotate alte Protokolldateien in access.log.1.gz, access.log.2.gz usw. um. Ich würde es vorziehen, wenn sie access.log.20090714.gz, access.log.20090715.gz heißen. etc - eine für jeden Tag.
Ich kann keine Option zum Angeben eines Dateinamenmusters für die alten Protokolldateien finden. Wissen Sie, wie das geht?
Übrigens dient dies zum Drehen von lighttpd-Protokolldateien, falls dies wichtig ist.
Verwenden Sie cronolog - es werden in erster Linie Protokolldateien mit den richtigen Dateinamen geschrieben (z. B. lassen meine Webserver Protokolldateien im Allgemeinen als JJJJ / MM / TT / Zugriff oder JJJJ / MM / TT / Fehler usw. schreiben). Weitere Details zum Konfigurieren von cronolog mit lighttpd finden Sie hier: http://redmine.lighttpd.net/projects/1/wiki/MigratingFromApache
(Während auf dieser Seite erwähnt wird, dass server.errorlog nicht über cronolog ausgeführt werden kann, scheint es dafür einen Fehlerbericht zu geben, der als "behoben" markiert wurde. Leider kann ich seitdem nicht mehr als eine URL gleichzeitig veröffentlichen Ich bin ein "neuer" Benutzer bei Serverfault ...)
quelle
Ich glaube nicht, dass lighttpd oder logrotate dies alleine tun können. Ich sehe zwei Möglichkeiten, um dies zu erreichen:
Machen Sie Ihre eigenen Skripte direkt nach dem Logrotieren, wie am Ende des Cronjobs. Etwas wie:
Oder syslog-ng kann Protokolldateien nach Datum erstellen und lighttpd kann Protokolle an syslog senden, anstatt sie selbst zu schreiben.
und setze
accesslog.use-syslog
&server.errorlog-use-syslog
in der lighttpd conf.Bearbeiten: Cronolog ist einfacher und / oder als einer meiner Vorschläge, ich würde damit anfangen, wenn es für Sie funktioniert.
quelle
date +"%Y%m%d"
(Backquote vor und nach diesem Befehl nicht vergessen, die ausgeblendet sind)