Newsyslog-Platzhalter - Drehen Sie alle Protokolle in einem Verzeichnis

8

Ich verwende FreeBSD 8.1. Ich versuche, Newsyslog dazu zu bringen, Protokolle zu drehen, die durch einen dynamischen Pfad definiert sind:

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/path/logs/*.log    644  7     100  $D0   J
/path/logs/*/*.log  644  7     100  $D0   J

Grundsätzlich möchte ich, dass newsyslog alle Dateien dreht, die mit .log im Verzeichnis / path / logs / enden.

Ich möchte das gleiche auch für alle Unterverzeichnisse von / path / logs / tun, die die zweite Zeile meiner Konfigurationsdatei ist.

Aber wenn ich es mache:

newsyslog -F

Es werden keine Protokolldateien gedreht.

Richard Knop
quelle
2
Versuchen Sie zu laufen newsyslog -nvund prüfen Sie, ob Fehler auftreten.
Chris S
2
Randnotiz: Standardmäßig werden die archivierten Protokolldateien im selben Verzeichnis abgelegt und haben den neuen Namen service.log.0.bz2. Dies bedeutet, dass sie wieder von newsyslog erfasst werden, da am Ende Ihres Glob-Musters ein Sternchen angezeigt wird. Dies ist mit ziemlicher Sicherheit nicht das Verhalten, das Sie beabsichtigen.
Chris S
1
@ Chris S Danke. Ja, ich habe den Platzhalter vom Ende entfernt. Alles, was benötigt wurde, um es zum Laufen zu bringen, war die Verwendung des -G-Flags.
Richard Knop

Antworten:

13

Das Verwenden der GFlagge in /etc/newsyslog.confhalf:

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/path/logs/*.log    644  7     100  $D0   G
/path/logs/*/*.log  644  7     100  $D0   G
Richard Knop
quelle
1
Glückwunsch! Sieht aus wie die Flagge G, z glob(3).
Stefan Lasiewski
Lesen hat man newsysloggeholfen, wie ich sehe.
SaveTheRbtz