Thread mehrere Bedingungen um bestimmte Dateien zu löschen (3 answers)
Opened by zenkko at 2009-03-25 14:57

bieber
 2009-03-25 15:24
#119808 #119808
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
schau dir mal mein nachfolgendes Script an, dort lösche ich alle Dateien in einem Verzeichnis die älter sind als 3Tage...daraus kannst du dir bestimmt auch eine passende Lösung basteln

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl
use strict;
use warnings;

# Verzeichnispfad anpassen 
my $verzeichnis = "/verzeichnis";

# Alter der Dateien in Sekunden angeben
my $alter =  60*60*24*3; # In Sekunden angeben!

my @dirliste=('.');
while(@dirliste >0)
{
                my $dir=shift(@dirliste);                       # nimmt das erste Element des Arrays und löscht es
            opendir(DIR,"$verzeichnis/$dir") or die "Konnte Verzeichnis $dir nicht öffnen ($!)";

            while(my $d=readdir(DIR))                       # aktuelles Verzeichnis durchlaufen
            {
                  if (($d eq "\.")||($d eq "\.\.")){next};  # Links auf aktuelles und vorhergehndes Verzeichnis überspringen
                  my $path="$dir/$d";
                  
                  if(-d "$verzeichnis/$path")                    # wenn das aktuelle Element ein Verzeichnis ist, dann
                  {
                        push (@dirliste,$path);             # hänge es an die Verzeichnisliste an
                        
                  }
                  else                                      # ist eine Datei
                  {
                        my @stat = stat("$verzeichnis/$path");
                                                if ((time - $stat[8]) > $alter) { 
                                print "lösche $verzeichnis/$path\n";
                                unlink("$verzeichnis/$path");
                                }
                  }
            }
            closedir(DIR);
};

bitte als Verzeichnis nicht die Wurzel des Dateisystems angeben...
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.

View full thread mehrere Bedingungen um bestimmte Dateien zu löschen