=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
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;
=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
=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
}
}
- # gewünschte Permissions setzen
+ # gewuenschte Permissions setzen
print $p . "Setze Permissions von '$to'.\n" if verbose();
unless ( $self->{'test'} ) {
unless ( chmod $omode, $to ) {
}
}
- # gewünschte Besitzer stzen
+ # gewuenschte Besitzer stzen
print $p . "Setze Besitzer von '$to'.\n" if verbose();
unless ( $self->{'test'} ) {
unless ( chown $ouid, $ogid, $to ) {
} 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 ) {
}
}
+ # 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 ) {
}
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 ) {
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";
}
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*$/ ) {
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*$/ ) {
$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;
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"
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 ) {
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 ) {
# 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] ) {
$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;
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;
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";
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;
'compress' => undef,
'copytruncate' => undef,
'create' => {
- 'mode' => 0644,
- 'owner' => $uid,
- 'group' => $gid,
+ 'mode' => undef,
+ 'owner' => undef,
+ 'group' => undef,
},
'period' => 7,
'dateext' => undef,