]> Frank Brehm's Git Trees - scripts/solaris.git/commitdiff
Veraenderungen bei maxage- und rotate-Direktiven
authorFrank Brehm <frank@brehm-online.com>
Wed, 29 Mar 2006 16:16:47 +0000 (16:16 +0000)
committerFrank Brehm <frank@brehm-online.com>
Wed, 29 Mar 2006 16:16:47 +0000 (16:16 +0000)
LogRotate/Conf.pm

index 1a8f4d9aefe832b9826e6808609b3093cc5042d9..212655c2665889681c3feecf66fc607ca027d906 100644 (file)
@@ -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;
   }