hallo liste, hallo j�rgen,

ich habe ein perl-skript gefunden, das das alte-dateien-problem
l�st.

f�r alle: das problem war, "wie l�sche ich die dateien aus dem
/tmp-verzeichnis, die ein bestimmtes alter �berschritten haben?" -
also z.b. �lter als 2, 4, oder 6 tage sind. ich antworte j�rgen
�ber die liste, da das m�glicherweise noch mehr leute interessiert.

das folgende skript stammt aus dem buch "go to perl 5" von
michael schilli, der im linux-magazin die perl-kolummne schreibt.

hier isses:

---schnipp---

#!/usr/bin/perl -w
######################################################################
# cleanup.pl
# L�scht (rekursiv!) alle Dateien in den angegebenen Verzeichnissen
# und deren Unterverzeichnissen, die �lter als 10 Tage sind.
######################################################################

use File::Find;

for (@ARGV) {
    die "$_ not a directory" unless -d $_;
    find(\&process_dir, $_);
}

sub process_dir {
    return unless -f;      # Nur Dateien

    my $mtime = -M;        # Zeitstempel der letzten Modifikation
                           # Differenz in Tagen zum heutigen Datum
    $nof_days = int((time() - $mtime) / (3600*24));

    if($nof_days > 10) {
        print "Deleting $_ - not modified for $nof_days days\n";
        unlink($_) || warn ("Cannot delete $_: $!");
    }
}

---schnapp---

der aufruf zum l�schen im tmp-verzeichnis ist demnach

   <cleanup.pl /tmp>

selbstredend ohne <...>. die "10" in dem skript mu� ggf. angepa�t
werden, wenn man nicht so lange warten will :-)

ich teile das blo� mit, hab's selbst nicht ausprobiert.

--
dieter breitenstein  -  icq #31 61 27 74
[EMAIL PROTECTED]




---------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an