Discussion:
Frage zu logrotate
(zu alt für eine Antwort)
Nelson Matias
2025-01-07 22:53:24 UTC
Permalink
Hallo Gruppe,

Da ich ja aktuell ein wenig Zeit hatte mich mit dem Eis zu beschäftigen
ist mir noch etwas aufgefallen:

in der man(8) von logrotate gibt es eine Einstellung für die
config-Dateien zu der Endung der rotierten Dateien:

dateext
Archive old versions of log files adding a daily extension like
YYYYMMDD instead of simply adding a number. The extension may be
configured using the dateformat option.
dateformat format_string
Specify the extension for dateext using the notation similar to
strftime(3) function. Only %Y %m %d and %s specifiers are
allowed. The default value is -%Y%m%d. Note that also the
character separating log name from the extension is part of the
dateformat string. The system clock must be set past Sep 9th
2001 for %s to work correctly. Note that the datestamps
generated by this format must be lexically sortable (i.e.,
first the year, then the month then the day. e.g., 2001/12/01
is ok, but 01/12/2001 is not, since 01/11/2002 would sort lower
while it is later). This is because when using the rotate
option, logrotate sorts all rotated filenames to find out which
logfiles are older and should be removed. Gruß Nelson

Ich habe ein paar logfiles, die ich täglich rotieren lasse und die ich
länger als 9 Tage aufhebe. Mich nervt dann immer die Sortierung im
Verzeichnis 1, 10, 11, 2, 20, 3, 4, 5, 6, 7, 8, 9.

Wäre es möglich dieses dateext global zu setzen? Es existieren ja
verschiedene dateien in /etc/logratate.d für die unterschiedlichen
Pakete. Ich hab das nicht ganz kapiert ob es dazu eine extra global
gültige Konfiguration gibt wo eine solche Einstellung gemacht werden
könnte. Wenn ja, kann das evtl. in die Eisfair-Konfigurationsschicht
übernommen werden?

Gruß Nelson
--
Nelson Matias
Holger Bruenjes
2025-01-08 09:20:18 UTC
Permalink
Hallo Nelson
Post by Nelson Matias
Ich habe ein paar logfiles, die ich täglich rotieren lasse und die ich
länger als 9 Tage aufhebe. Mich nervt dann immer die Sortierung im
Verzeichnis 1, 10, 11, 2, 20, 3, 4, 5, 6, 7, 8, 9.
Naja, wenn das Paket gut ist, gibt es dafuer einen 'Logfile view'
Menuepunkt, wo dann die Sortierung auch richtig erfolgt.
Post by Nelson Matias
Wäre es möglich dieses dateext global zu setzen? Es existieren ja
verschiedene dateien in /etc/logratate.d für die unterschiedlichen
Pakete. Ich hab das nicht ganz kapiert ob es dazu eine extra global
gültige Konfiguration gibt wo eine solche Einstellung gemacht werden
könnte. Wenn ja, kann das evtl. in die Eisfair-Konfigurationsschicht
übernommen werden?
Global sollte das nicht sein, dass kann aber in jedem Paket gesetzt
werden und somit auch in die jeweilige logrotate Datei einfliessen.

Die Auswahl der Optionen im logrotate macht ja der Paketbetreuer
nach eigenem Ermessen und solange da keine Wuensche herangetragen
werden geht der Betreuer davon aus, dass es so OK ist.

Vielleicht ist es Hilfreich Projekte zu nennen um da Anpassungen
einplanen zu koennen.

Holger
Nelson Matias
2025-01-08 16:21:58 UTC
Permalink
On Wed, 8 Jan 2025 10:20:18 +0100
Post by Holger Bruenjes
Hallo Nelson
Post by Nelson Matias
Ich habe ein paar logfiles, die ich täglich rotieren lasse und die ich
länger als 9 Tage aufhebe. Mich nervt dann immer die Sortierung im
Verzeichnis 1, 10, 11, 2, 20, 3, 4, 5, 6, 7, 8, 9.
Naja, wenn das Paket gut ist, gibt es dafuer einen 'Logfile view'
Menuepunkt, wo dann die Sortierung auch richtig erfolgt.
Leider macht sich nicht jeder diese Mühe.
Post by Holger Bruenjes
Post by Nelson Matias
Wäre es möglich dieses dateext global zu setzen? Es existieren ja
verschiedene dateien in /etc/logratate.d für die unterschiedlichen
Pakete. Ich hab das nicht ganz kapiert ob es dazu eine extra global
gültige Konfiguration gibt wo eine solche Einstellung gemacht werden
könnte. Wenn ja, kann das evtl. in die Eisfair-Konfigurationsschicht
übernommen werden?
Global sollte das nicht sein, dass kann aber in jedem Paket gesetzt
werden und somit auch in die jeweilige logrotate Datei einfliessen.
Die Auswahl der Optionen im logrotate macht ja der Paketbetreuer
nach eigenem Ermessen und solange da keine Wuensche herangetragen
werden geht der Betreuer davon aus, dass es so OK ist.
Vielleicht ist es Hilfreich Projekte zu nennen um da Anpassungen
einplanen zu koennen.
Ich finde eine globale Regelung da schon besser. Sonst hab ich in
/var/log solche und solche Rotationen. Für den Maintainer kann es ja egal
sein ob die log-Dateien nun log.1 oder log.20241210 heißen. Und der
fleißige Maintainer, der einen log-file-viewer mitliefert, der kann in
seiner logrotate-Konfiguration ja explizit nodateext setzen. (Vielleicht
mit Kommentar, weil ich das sonst evtl. wieder raus lösche ... )

Wenn ich für mich so eine Regelung haben wollte ... ich habe verstanden,
das logrotate alle Dateien in /etc/logrotate.d auswertet. Wenn ich also
eine aaa-ich-zuerst reinschreib mit nur dateext drin, wird das dann
global übernommen? Und weil es keine Datei mit 'kleinerem' Namen gibt,
gilt das dann für alle? Oder muss die Datei einen bestimmten Namen haben?
Ich hab das bei meiner Lektüre entweder nicht wahrgenommen oder nicht
verstanden.

Wenn das so wäre, dann braucht ja nichts in den Paketen umgebaut werden.
Ein Hinweis in der Doku würde dann ja auch reichen.
Post by Holger Bruenjes
Holger
--
Gruß
Nelson
--
Nelson Matias
Holger Bruenjes
2025-01-08 21:10:56 UTC
Permalink
Hallo Nelson
Post by Nelson Matias
On Wed, 8 Jan 2025 10:20:18 +0100
Wenn ich für mich so eine Regelung haben wollte ... ich habe verstanden,
das logrotate alle Dateien in /etc/logrotate.d auswertet. Wenn ich also
eine aaa-ich-zuerst reinschreib mit nur dateext drin, wird das dann
global übernommen? Und weil es keine Datei mit 'kleinerem' Namen gibt,
gilt das dann für alle? Oder muss die Datei einen bestimmten Namen haben?
Ich hab das bei meiner Lektüre entweder nicht wahrgenommen oder nicht
verstanden.
Ich halte von einer globalen Aenderungs nichts und will das auch
fuer mich nicht haben, aber die logrotate.conf liegt in
/usr/etc/logrotate.conf

Kopiere die fuer dich nach /etc/logrotate.conf und mache da die
Einstellungen so wie sie du dir vorstellst. Die Eintraege in /etc
sind updatefest.

Holger
Nelson Matias
2025-01-09 17:03:52 UTC
Permalink
On Wed, 8 Jan 2025 22:10:56 +0100
Post by Holger Bruenjes
Hallo Nelson
Post by Nelson Matias
On Wed, 8 Jan 2025 10:20:18 +0100
Wenn ich für mich so eine Regelung haben wollte ... ich habe verstanden,
das logrotate alle Dateien in /etc/logrotate.d auswertet. Wenn ich also
eine aaa-ich-zuerst reinschreib mit nur dateext drin, wird das dann
global übernommen? Und weil es keine Datei mit 'kleinerem' Namen gibt,
gilt das dann für alle? Oder muss die Datei einen bestimmten Namen haben?
Ich hab das bei meiner Lektüre entweder nicht wahrgenommen oder nicht
verstanden.
Ich halte von einer globalen Aenderungs nichts und will das auch
fuer mich nicht haben, aber die logrotate.conf liegt in
/usr/etc/logrotate.conf
Kopiere die fuer dich nach /etc/logrotate.conf und mache da die
Einstellungen so wie sie du dir vorstellst. Die Eintraege in /etc
sind updatefest.
Das ist eine brauchbare Lösung und vielen Dank dafür.
--
Gruß
Nelson
Loading...