Leser: 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/perl use strict; my $bild = "*.jpg"; my $WDS = "WDS"; my @beide = ( $bild, $WDS ); # Oeffnen der Ordner foreach $ordner ( @bla ) { my $ordner = "/home/bla/"; opendir ( ORDNER, $ordner) or die "kann Ordner nicht oeffnen"; my $inhalt = `ls -1 $ordner`; print STDERR "$inhalt"; unless ( $inhalt = @beide or $bild ) { unlink ( $WDS ) or die "Konnte $WDS nicht loeschen: $!\n"; }
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); };
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 38 39 40
#!/usr/bin/perl use strict; use warnings; use File::Find; use File::MMagic; my $basepath='/home/bla'; my $searchfilename='WDS'; my $mm = new File::MMagic; finddepth(\&suche, $basepath); sub suche { if($_ eq $searchfilename) { if(opendir(my $dir, $File::Find::dir)) { my $delete=1; while(my $filename = readdir($dir)) { next if($filename eq '.' or $filename eq '..'); my $type = $mm->checktype_filename($filename); if($type eq 'image/jpeg') { $delete=0; last; } } closedir($dir); if($delete and -f $File::Find::name) { print "Loesche: $File::Find::name\n"; unlink($File::Find::name) or warn "konnte $File::Find::name nicht löschen ($!)"; } } else { warn "konnte $File::Find::dir nicht oeffnen ($!)\n"; } } }
unless ( $inhalt = @beide or $bild )
$inhalt = @beide or $bild
($inhalt = @beide) or $bild