]> Frank Brehm's Git Trees - scripts/solaris.git/commitdiff
Bugfixing beim Creating
authorFrank Brehm <frank@brehm-online.com>
Tue, 11 Apr 2006 14:03:20 +0000 (14:03 +0000)
committerFrank Brehm <frank@brehm-online.com>
Tue, 11 Apr 2006 14:03:20 +0000 (14:03 +0000)
LogRotate.pm
LogRotate/Conf.pm

index 10caf5dbc8d9f22def2ac641aa6231d2e4d8db16..2f4f2f696ce16943c4546c0696d45794dea95641 100644 (file)
@@ -853,11 +853,11 @@ sub compress_file_zlib($$) {
 =head2 create_olddir ( $logfile )
 
 Checkt das Vorhandensein von $self-E<gt>{'c'}{'logfiles'}{$logfile}{'olddir'}, vorher werden aber die
-POSIX-Datumsersetzungen daran gemacht und in $self-E<gt>{'c'}{'logfiles'}{$logfile}{'olddir'}{'expanded'} zurückgespeichert.
+POSIX-Datumsersetzungen daran gemacht und in $self-E<gt>{'c'}{'logfiles'}{$logfile}{'olddir'}{'expanded'} zurueckgespeichert.
 
-Wenn es kein Testfall ist, wird dieses Verzeichnis auch tatsächlich angelegt.
+Wenn es kein Testfall ist, wird dieses Verzeichnis auch tatsaechlich angelegt.
 
-Gibt den Erfolg als Wahrheitswert zurück.
+Gibt den Erfolg als Wahrheitswert zurueck.
 
 =cut
 
@@ -973,7 +973,7 @@ sub create_olddir($$) {
         print $p . "Erstelle Verzeichnis $adir ...\n";
         # Ermittlung effektive Permissions + Ownership
         # wenn in config-file gegeben, diese,
-        # ansonsten die vom übergeordneten Verzeichnis.
+        # ansonsten die vom uebergeordneten Verzeichnis.
         $mode  = defined $o->{'mode'}  ? $o->{'mode'}  : $pmode;
         $owner = defined $o->{'owner'} ? $o->{'owner'} : $puid;
         $group = defined $o->{'group'} ? $o->{'group'} : $pgid;
@@ -1152,7 +1152,7 @@ sub find_rotatings($$$) {
 
 =head2 get_logfile_target ( $file )
 
-Legt das Ziel des Rotierens für das übergebene Logfile fest und gibt dieses zurück.
+Legt das Ziel des Rotierens fuer das uebergebene Logfile fest und gibt dieses zurueck.
 
 =cut
 
@@ -1364,7 +1364,7 @@ sub rotate($) {
 
 =head2 rotate_file ( $file )
 
-Rotiert (bedingungslos) die in $file übergebene Datei.
+Rotiert (bedingungslos) die in $file uebergebene Datei.
 
 Hinterher steht in $self->{'c'}{'logfiles'}{$file}{'rotated'} der Dateiname
 der rotierten Datei und in %{$self->{'c'}{'logfiles'}{$file}{'oldfiles'}} ist
@@ -1467,7 +1467,7 @@ sub rotate_file($$) {
       }
     }
 
-    # gewünschte Permissions setzen
+    # gewuenschte Permissions setzen
     print $p . "Setze Permissions von '$to'.\n" if verbose();
     unless ( $self->{'test'} ) {
       unless ( chmod $omode, $to ) {
@@ -1475,7 +1475,7 @@ sub rotate_file($$) {
       }
     }
     
-    # gewünschte Besitzer stzen
+    # gewuenschte Besitzer stzen
     print $p . "Setze Besitzer von '$to'.\n" if verbose();
     unless ( $self->{'test'} ) {
       unless ( chown $ouid, $ogid, $to ) {
@@ -1493,6 +1493,9 @@ sub rotate_file($$) {
 
   } else {
 
+    # alte Permissions und Besitzer ermitteln
+    @Stats = stat $from;
+
     print $p . "Benenne um bzw. verschiebe '$from' nach '$to' ...\n";
     unless ( $self->{'test'} ) {
       unless ( move $from, $to ) {
@@ -1513,17 +1516,17 @@ sub rotate_file($$) {
         }
       }
 
+      # gewuenschte Permissions und Besitzer ermitteln
+      $nmode = defined $f->{'create'}{'mode'}  ? $f->{'create'}{'mode'}  : $Stats[2];
+      $nuid  = defined $f->{'create'}{'owner'} ? $f->{'create'}{'owner'} : $Stats[4];
+      $ngid  = defined $f->{'create'}{'group'} ? $f->{'create'}{'group'} : $Stats[5];
+
       # alte Permissions und Besitzer der neu angelegten Datei ermitteln
       @Stats = stat $from;
-
       ( $omode, $ouid, $ogid ) = @Stats[ 2, 4, 5 ];
-      # gewünschte Permissions und Besitzer ermittel
-      $nmode = $f->{'create'}{'mode'} || 0644;
-      $nuid  = $f->{'create'}{'owner'};
-      $ngid  = $f->{'create'}{'group'};
 
       if ( $nmode != $omode ) {
-        # gewünschte Permissions setzen
+        # gewuenschte Permissions setzen
         print $p . "Setze Permissions von '$from'.\n" if verbose();
         unless ( $self->{'test'} ) {
           unless ( chmod $nmode, $from ) {
@@ -1533,7 +1536,7 @@ sub rotate_file($$) {
       }
 
       if ( $ouid != $nuid or $ogid != $ngid    ) {
-        # gewünschte Besitzer stzen
+        # gewuenschte Besitzer stzen
         print $p . "Setze Besitzer von '$from'.\n" if verbose();
         unless ( $self->{'test'} ) {
           unless ( chown $nuid, $ngid, $from ) {
index 212655c2665889681c3feecf66fc607ca027d906..870015966730df5a4c524f2abae0a53573aac51b 100644 (file)
@@ -961,7 +961,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^(not?)?($pattern)$/i ) {
     $negated = $1;
     $key     = lc($2);
-    print $p . "Untersuche boolsche Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche boolsche Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
     if ( defined $val and $val ne "" ) {
       warn $p . "Wert '$val' hinter logischer Direktive $directive gefunden (Datei '$f', Zeile $linenr)\n";
     }
@@ -980,7 +980,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^(not?)?($pattern)$/i ) {
     $negated = $1;
     $key     = lc($2);
-    print $p . "Untersuche Integer-Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche Integer-Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
     if ( $DirectivesWithValues{$key} ) {
       print $p . "Direktive '$key' muss einen Wert haben.\n" if verbose() > 5;
       unless ( defined $val and $val !~ /^\s*$/ ) {
@@ -1010,7 +1010,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^($pattern)$/i ) {
     $negated = $1;
     $key     = lc($2);
-    print $p . "Untersuche String-Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche String-Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
     if ( $DirectivesWithValues{$key} ) {
       print $p . "Direktive '$key' muss einen Wert haben.\n" if verbose() > 5;
       unless ( defined $val and $val !~ /^\s*$/ ) {
@@ -1030,7 +1030,7 @@ sub directive($$$$$) {
   $pattern = join( "|", keys %GlobalDirectives );
   if ( $directive =~ /^($pattern)$/i ) {
     $key     = lc($1);
-    print $p . "Untersuche globale Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche globale Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
     if ( $in_fd ) {
       warn $p . "Direktive '$key' ist nicht innerhalb von Logdatei-Definitionen erlaubt (Datei '$f', Zeile $linenr).\n";
       return 1;
@@ -1068,7 +1068,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^($pattern)$/i ) {
 
     $key     = lc($1);
-    print $p . "Untersuche Rotations-Perioden-Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche Rotations-Perioden-Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
 
     if ( $ValidPeriods{$key} ) {
       warn $p . "Direktive '$key' darf keine Argumente haben ( '$val' in Datei '$f', Zeile $linenr).\n"
@@ -1095,7 +1095,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^(not?)?maxage$/ ) {
 
     $negated = $1;
-    print $p . "Untersuche Direktive 'maxage' ...\n" if verbose() > 5;
+    print $p . "Untersuche Direktive 'maxage' (" . __LINE__ . ") ...\n" if verbose() > 5;
 
     $negated = 1 if not defined($val) or $val =~ /^\s*$/;
     if ( $negated ) {
@@ -1117,7 +1117,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^(no)?dateext$/ ) {
 
     $negated = $1;
-    print $p . "Untersuche Direktive 'dateext' ...\n" if verbose() > 5;
+    print $p . "Untersuche Direktive 'dateext' (" . __LINE__ . ") ...\n" if verbose() > 5;
     @Values = $val ? parts( $val ) : ();
 
     if ( $negated ) {
@@ -1152,9 +1152,10 @@ sub directive($$$$$) {
   # Erstellungs-Modi festlegen
   if ( $directive eq 'create' ) {
 
-    print $p . "Untersuche Direktive 'create' ...\n" if verbose() > 5;
+    print $p . "Untersuche Direktive 'create' (" . __LINE__ . ") ...\n" if verbose() > 5;
     @Values = $val ? parts( $val ) : ();
     $self->{$wo}{'copytruncate'} = 0;
+    print $p . "Ermittelte Werte fuer 'create': " . Dumper(\@Values) if verbose() > 5;
 
     # Mode (Permission) definition
     if ( defined $Values[0] ) {
@@ -1193,7 +1194,7 @@ sub directive($$$$$) {
     $negated = $1;
     $directive = 'olddir';
 
-    print $p . "Untersuche Direktive 'olddir' ...\n" if verbose() > 5;
+    print $p . "Untersuche Direktive 'olddir' (" . __LINE__ . ") ...\n" if verbose() > 5;
 
     if ( $negated  ) {
       print $p . "Direktive 'olddir' wird in '$wo' enfernt.\n" if verbose() > 5;
@@ -1250,7 +1251,7 @@ sub directive($$$$$) {
   if ( $line =~ /^size(?:\s*(?:=|\s)\s*(.*)?)?$/i ) {
     $directive = 'size';
     $val = $1;
-    print $p . "Untersuche Direktive 'size' mit Groesse '" . (defined $val ? $val : "<undef>") . "' ...\n" if verbose() > 5;
+    print $p . "Untersuche Direktive 'size' (" . __LINE__ . ") mit Groesse '" . (defined $val ? $val : "<undef>") . "' ...\n" if verbose() > 5;
     unless ( defined $val ) {
       warn $p . "Ungueltige Groessen-Definition (Datei '$f', Zeile $linenr).\n";
       return 1;
@@ -1269,7 +1270,7 @@ sub directive($$$$$) {
   if ( $directive =~ /^taboo(ext|file|prefix)$/ ) {
 
     $key     = lc($1);
-    print $p . "Untersuche globale Direktive '$key' ...\n" if verbose() > 5;
+    print $p . "Untersuche globale Direktive '$key' (" . __LINE__ . ") ...\n" if verbose() > 5;
 
     if ( $in_fd ) {
       warn $p . "Direktive '$directive' ist nicht innerhalb von Logdatei-Definitionen erlaubt (Datei '$f', Zeile $linenr).\n";
@@ -1819,8 +1820,6 @@ sub reset_defaults($) {
 
   my $self = shift;
   my $p = verbose() ? __PACKAGE__ . "::reset_defaults(): " : "";
-  my $uid      = $>;
-  my ( $gid )  = $) =~ /^(\d+)/;
 
   print $p . "Setze \$self->{'defaults'} auf Vorgabewerte zurueck.\n" if verbose() > 3;
 
@@ -1828,9 +1827,9 @@ sub reset_defaults($) {
     'compress'         => undef,
     'copytruncate'     => undef,
     'create'           => {
-       'mode'                  => 0644,
-       'owner'                 => $uid,
-       'group'                 => $gid,
+       'mode'                  => undef,
+       'owner'                 => undef,
+       'group'                 => undef,
     },
     'period'           => 7,
     'dateext'          => undef,