Logrotate auch mit Unterverzeichnissen?

Apache, Lighttpd, nginx, Cherokee
sascha.koerber
Posts: 4
Joined: 2007-08-03 16:56

Logrotate auch mit Unterverzeichnissen?

Post by sascha.koerber » 2007-11-30 12:51

Hallo Freunde,

ich habe eine Frage bezüglich Logrotate.

Bis jetzt läuft Logrotate auf unserem Debian-Server und verrichtet im Verzeichnis /var/log problemlos seine Dienste. Auch die Logs in /var/log/apache2 werden regelmäßig rotiert und mit gz bearbeitet.

Da ich nun aber sehr viele Domains auf dem Server laufen lasse und für jede Domain gern getrennte Logs habe, habe ich die Logs von Apache so organisiert, das Sie in

/var/log/apache2/[Domainname]/access.log
/var/log/apache2/[Domainname]/error.log

abgelegt werden.

Wie kann ich jetzt logrotate dazu veranlassen, auch die Logs in diesen Unterverzeichnissen zu rotieren? Aus der man-Page werde ich leider nicht ganz schlau :-(

Und auch finde ich seltsam, dass in der aktuellen "logrotate.conf" auch das normale /var/log/apache2 Verzeichnis nicht irgendwo eingetragen ist, aber trotzdem in diesem Verzeichnis ein log-rotation erfolgt. Ich fürchte, die Config-Datei gibt mir noch einige Rätsel auf...

Wer mal die aktuelle logrotate.conf schauen möchte:

Code: Select all

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

# system-specific logs may be configured here

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Logrotate auch mit Unterverzeichnissen?

Post by Roger Wilco » 2007-11-30 13:17

sascha.koerber wrote:Wie kann ich jetzt logrotate dazu veranlassen, auch die Logs in diesen Unterverzeichnissen zu rotieren?

Mit entsprechenden Wildcards.

Beispiel:

Code: Select all

/var/log/apache2/*/access.log {
  weekly
  dateext
  rotate 12

  missingok
  notifempty
  sharedscripts

  postrotate
    /etc/init.d/apache2 reload > /dev/null 2>&1 || true
  endscript
}


sascha.koerber wrote:Und auch finde ich seltsam, dass in der aktuellen "logrotate.conf" auch das normale /var/log/apache2 Verzeichnis nicht irgendwo eingetragen ist, aber trotzdem in diesem Verzeichnis ein log-rotation erfolgt.

Hast du auch an /etc/logrotate.d/ gedacht?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Logrotate auch mit Unterverzeichnissen?

Post by Joe User » 2007-11-30 13:20

sascha.koerber wrote:

Code: Select all

# packages drop log rotation information into this directory
include /etc/logrotate.d


Überlesen?

BTW: Logrotate kann auch mit Wildcards in Pfaden umgehen...

EDIT: Zu Spät :roll:

sascha.koerber
Posts: 4
Joined: 2007-08-03 16:56

Re: Logrotate auch mit Unterverzeichnissen?

Post by sascha.koerber » 2007-11-30 13:55

Hallo noch einmal,

Ihr habt Recht! Ich Hammel hab tatsächlich logrotate.d übersehen. Und zwar habe ich übersehen, das logrotate.d ein Verzeichnis ist! Ich Depp hab versucht per "more logrotate.d" den Inhalt anzeigen zu lassen um zu sehen, was er da includen will... *BRÜLL*

Wie blöd kann man sein??

Sorry dafür! Jetzt hat sich alles aufgeklärt und ich weiss, das "logrotate.d" ein Verzeichnis ist, und keine Datei... Sehr peinlich! Es steht ja auch groß vorn dran. Manchmal muss man einfach LESEN um zu verstehen. *grins*

DANKE!