Thread Logfile schreibt alles ... soll es aber nicht .. (14 answers)
Opened by SimplyFred at 2007-01-26 08:27

SimplyFred
 2007-01-26 08:27
#73612 #73612
User since
2006-12-16
25 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin absoluter Newbie in Perl und brauche Hilfe. Ich habe ein Script, was nach Dateien sucht, die älter als 31 Tage sind und die dann löscht. Ich habe dazu ein Logging eingebaut, allerdingt wird hier alles geloggt und nicht nur das was gelöscht wird. Auch die Sachen, die nicht gelöscht wurden sind, stehen mit "geloescht.." im Log.
Ausserdem sollte eigentlich nicht nach einer Datei beginnend mit "virus..." gsucht werden, sondern innerhalb der Datei sollte nach "virus" geuscht werden, ähnlich einem grep.

Anbei der Code - wäre super, wenn mir jemand auf die Sprünge helfen könnte

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
opendir(DIR,'/var/spool/amavis/virusmails/test');  
my @files=readdir(DIR);
closedir(DIR);
foreach (sort @files) {
if ($_=~ /virus*/) {
$alter = (-M "/var/spool/amavis/virusmails/test/".$_);
# print "/var/spool/amavis/virusmails/test/".$_." = ".$alter."\n";
print LOG "$t $_ groesser als 31 Tage --> $alter geloescht.\n";
# print "$_ wurde geloescht.\n";
$count++;
if ($alter > 31) {
system("rm /var/spool/amavis/virusmails/test/".$_);
# print "del\n";
}
}
}
print LOG "$t --> $count Dateien wurden geloescht.\n";
close (LOG);
\n\n

<!--EDIT|renee|1169793051-->

View full thread Logfile schreibt alles ... soll es aber nicht ..