Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Cum stergem fisierele vechi in Perl

Ocazional avem nevoie ca in cadrul unui script Perl sa cautam fisiere vechi. Un exemplu practic de aplicatie rulata in cron pentru a curata directorul /tmp de fisiere nefolosite ale utilizatorilor.

#!/usr/bin/perl
 
use define MAX_DAYS => 1;
 
chdir("/tmp") or die("Utilizatorul curent nu are drept de executie pe /tmpn");
opendir(TMP,"/tmp") or die("Utilizatorul curent nu are drept de citire pe directorul /tmpn");
 
my $now = time;
my $max = 86400*MAX_DAYS;
 
foreach $file (readdir(TMP)){
    if( -f $file ){
        my @stat = stat($file);
        if( $stat[9] < ($now - $max) ){
            unlink($file) or die(”Utilizatorul curent nu are dreptul sa stearga fisierul $filen);
        }
    }
}

Bineinteles, scriptul trebuie rulat ca root. Daca dorim fisiere mai vechi de o zi, modificam valoarea constantei MAX_DAYS sau setam variabila $max cu valoarea in secunde a perioadei limita.

Perl

Comments are closed.