Univention Bugzilla – Bug 27722
logrotate: Maximalgröße definieren
Last modified: 2012-12-12 21:10:37 CET
Das Logrotate unter UCS 3.0 rotiert die Logdateien jetzt per Default wöchentlich. Bei einigen Mailsystemen kommen da schnell sehr große Logdateien zustande. Es sollte neben "weekly" auch eine "size" angegeben werden, ab der automatisch rotiert wird.
UCS 3.1 will be the next release.
In univention-base-files/debian/univention-base-files.postinst wird nun logrotate/size?100M gesetzt. Das gilt dann für alle UCS Logdateien kann aber mit paketspezifischen logrotate Einstellungen für einzelne Log-Dateien noch überschrieben werden.
FAIL: Das funktioniert so nicht, weil "size" und "rotate" nicht gleichzeitig angegeben werden dürfen! <https://bugzilla.redhat.com/show_bug.cgi?id=723570#c2> grep criterium config.c Da /usr/share/pyshared/univention/lib/ucrLogrotate.py ein Python-Hash-Array zurückliefert, die die Reihenfolge der Schlüssel-Werte-Paare zufällig und damit auch die Reihenfolge in den Logrotate-Konfigurationsdateien. FAIL: Das explizite deaktivieren per "ucr set logrotate/$NAME/size=" funktioniert auch nicht, weil vorher der Standardwert logrotate/size ausgewertet und in das Python-Aray übernommen wird, aber duch den spezifischeren Eintrag nicht gelöscht wird.
(In reply to comment #3) > FAIL: Das funktioniert so nicht, weil "size" und "rotate" nicht gleichzeitig > angegeben werden dürfen! > <https://bugzilla.redhat.com/show_bug.cgi?id=723570#c2> > grep criterium config.c > > Da /usr/share/pyshared/univention/lib/ucrLogrotate.py ein Python-Hash-Array > zurückliefert, die die Reihenfolge der Schlüssel-Werte-Paare zufällig und damit > auch die Reihenfolge in den Logrotate-Konfigurationsdateien. > > FAIL: Das explizite deaktivieren per "ucr set logrotate/$NAME/size=" > funktioniert auch nicht, weil vorher der Standardwert logrotate/size > ausgewertet und in das Python-Aray übernommen wird, aber duch den > spezifischeren Eintrag nicht gelöscht wird. size wird in ucrLogrotate.py nun nicht mehr abgefragt. Man kann aber in lorotate/rotate neben weekly auch einfach "size 100M" setzten. Da man im logrotate ja nur entweder "size" oder "weekly" definieren kann, schreibt man also einfach in lorotate/rotate das gewünschte Verhalten. -> ucr get logrotate/rotate weekly -> more /etc/logrotate.d/univention-updater /var/log/univention/updater.log { weekly rotate 12 create 640 root adm compress missingok notifempty } ... -> ucr set logrotate/updater/rotate='size 100k' -> more /etc/logrotate.d/univention-updater /var/log/univention/updater.log { size 100k rotate 12 create 640 root adm compress missingok notifempty } /var/log/univention/actualise.log { weekly rotate 12 ... Changelog Eintrag habe ich wieder entfernt.
Änderungen wurden zurückgenommen, lediglich die UCR-Variablen-Beschreibung wurde angepasst; dafür ist kein ChangeLog-Eintrag notwendig. OK: UCR-Variablenbeschreibung svn35477 OK: ChangeLog entfernt svn14694 OK: postinst entfernt svn35424 OK: ucrLogortate.py entfernt svn35423 OK: ucr set logrotate/ssl-sync/rotate=size\ 10k ; logrotate -d /etc/logrotate.d/univention-ssl
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".