7 Einträge, 1 Seite |
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 41 42 43 44 45 46 47
#!/usr/bin/perl use strict; # Alter der Dateien in Sekunden angeben my $age = 50000; # In Sekunden angeben! # Endung wird dreistellig übergeben my $ending = ($ARGV[0]); # Pfad wird übergeben my $path = ($ARGV[1]); # Arbeitsverzeichnis für temporäre Dateilisten my $workdirectory = "/home/edv"; # Logverzeichnis für gespeicherte Daten my $savedirectory = "/var/log"; # Counter auf Null setzen my $counter = 0; # Sicherheitsausgabe print "\nSuche alle Dateien mit Endung: $ending im Pfad: $path\n\n"; # Liste mit zu überprüfenden Dateien erstellen system("find $path -type f -name \*.$ending > $workdirectory/cleanup.list"); # Datei einlesen open (DATEI, "$workdirectory/cleanup.list") || die "Datei nicht gefunden"; foreach my $line ( <DATEI> ) { $counter++; # Dateistatistik mittels stat bestimmen my @stat = stat($line); print "Letzte Zugriffszeit:$stat[8]\n"; # JA/NEIN (True/False) Wert if ((time - $stat[8]) > $age) { # Dateien loeschen per unlink print "Gelöscht:$line"; unlink($line); } } close (DATEI); print "\nDateien:$counter\n\n";
1
2
3
4
5
6
7
8
9
perl -we'
use Data::Dumper;
$Data::Dumper::Useqq = 1;
$line = "datei.txt\n";
print "$line\n";
print Dumper $line;'
datei.txt
$VAR1 = "datei.txt\n";
1
2
3
4
5
-amin N
auf die Datei ist vor N Minuten zugegriffen worden
-atime N
auf die Datei ist vor N*24 Stunden zugegriffen worden
1
2
3
4
5
6
7
8
9
#!/bin/bash
# Alter der Dateien in Minuten angeben
age=833
# Endung wird dreistellig übergeben
ending = $1
# Pfad wird übergeben
path = $2
find $path -iname '*.$ending' -amin $age -exec echo -n "Gelöscht: " \; -exec rm {} \; -print
Gast+2008-12-09 19:28:00--Weiterhin, das Shell Script macht das selbe, was dein Script macht:
Code: (dl )1
2
3
4
5
6
7#!/bin/bash
# Alter der Dateien in Minuten angeben
age=833
# Endung wird dreistellig übergeben
ending = $1
# Pfad wird übergeben
path = $2
QuoteCode: (dl )find $path -iname '*.$ending' -amin $age -exec echo -n "Gelöscht: " \; -exec rm {} \; -print
Aber du könntest auch File::Find nutzen...
7 Einträge, 1 Seite |