From: Frank Brehm Date: Wed, 29 Mar 2006 16:16:47 +0000 (+0000) Subject: Veraenderungen bei maxage- und rotate-Direktiven X-Git-Url: https://git.uhu-banane.org/?a=commitdiff_plain;h=ce6b79f40238d96337cd6c01fad73fcc796f0403;p=scripts%2Fsolaris.git Veraenderungen bei maxage- und rotate-Direktiven --- diff --git a/LogRotate/Conf.pm b/LogRotate/Conf.pm index 1a8f4d9..212655c 100644 --- a/LogRotate/Conf.pm +++ b/LogRotate/Conf.pm @@ -923,7 +923,6 @@ sub directive($$$$$) { my %IntegerDirectives = ( 'delaycompress' => 1, 'rotate' => 1, - 'maxage' => 1, 'start' => 1, ); @@ -1075,16 +1074,42 @@ sub directive($$$$$) { warn $p . "Direktive '$key' darf keine Argumente haben ( '$val' in Datei '$f', Zeile $linenr).\n" if defined $val and $val !~ /^\s*$/; $val = $ValidPeriods{$key}; + } else { + if ( defined $val and $val =~ /^\s*-\s*\d+\s*$/ ) { + $val = -1; + } else { + $val = period2days($val); + unless ( defined $val ) { + warn $p . "Ungueltige Perioden-Definition (Datei '$f', Zeile $linenr).\n"; + return 1; + } + } + } + + print $p . "Setze Periode in '$wo' auf '$val'.\n" if verbose() > 5; + $self->{$wo}{'period'} = $val; + return 1; + } + + # Maximalalter fuer alte Logdateien ermitteln + if ( $directive =~ /^(not?)?maxage$/ ) { + + $negated = $1; + print $p . "Untersuche Direktive 'maxage' ...\n" if verbose() > 5; + + $negated = 1 if not defined($val) or $val =~ /^\s*$/; + if ( $negated ) { + $val = 0; } else { $val = period2days($val); unless ( defined $val ) { - warn $p . "Ungueltige Perioden-Definition (Datei '$f', Zeile $linenr).\n"; + warn $p . "Ungueltige Maxage-Definition (Datei '$f', Zeile $linenr).\n"; return 1; } } - print $p . "Setze Periode in '$wo' auf '$val'.\n" if verbose() > 5; - $self->{$wo}{'period'} = $val; + print $p . "Setze Maxage in '$wo' auf '$val'.\n" if verbose() > 5; + $self->{$wo}{'maxage'} = $val; return 1; }