Da die Manpage meine Frage nicht beantwortet und ich keinen Rotationszyklus erzwingen möchte, habe ich beschlossen, die Frage hier zu stellen.
Die Manpage für logrotate enthält folgendes Beispiel:
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Alle Beispiele mit Platzhaltern enthalten nur einen Eintrag. Nun interessiert mich, ob dieser auch erlaubt ist:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
Hier ist die Begründung: Ich habe mehrere VHosts und teile sie durch den Benutzer auf, der diese VHosts "besitzt". Da die Protokolldateien weltweit lesbar sind, möchte ich einen Ordner im Basisverzeichnis des Benutzers binden, ihn jedoch auf die Protokolldateien beschränken, die der Benutzer "besitzt". Dies ist am einfachsten, wenn Sie die Protokolle in Ordner aufteilen (und binden) -Montage erfordert dieses Schema sowieso). Daher suche ich nach einer Lösung, um sowohl die Protokolldateien /var/log/httpd
als auch alle Protokolldateien in den Unterverzeichnissen dieses Verzeichnisses zu rotieren , ohne jedes einzelne Unterverzeichnis nach Namen auflisten zu müssen.
Im Allgemeinen gibt die Manpage keinen Hinweis darauf, ob Mehrfacheinträge für Platzhalterregeln oder nur für vollständige Pfade möglich sind. Ich verwende die Logrotate-Version 3.7.8-6, die mit Debian "Squeeze" geliefert wird, aber ich gehe davon aus, dass dies nicht unbedingt spezifisch für eine Distribution oder eine Programmversion ist.