#!/usr/bin/perl

$COLLECT_DAYS=14;    #Legg filer som er eldre enn dette i søpplekassen
$KEEP_DAYS = 30;     #Slett de som har ligget i søpplekassen i en måned

#Hvilke kataloger som skal "renskes".
@COLLECT_FROM = ('/www/almashriq/','/home/almash/admin/');

#Filer som kan fjernes fra katalogene
@BAD_FILES = ("\*\~","#*#");

#Hvor søpplekassen befinner seg (husk / til slutt)
$TRASH_CAN_DIR = "/home/almash/admin/trashcan/";



########################################################################

# Lag ny "søpplekasse" katalog, hvis den ikke er laget.
mkdir($TRASH_CAN_DIR,0755) unless( -d $TRASH_CAN_DIR );

#
#   Finn alle "søpplefiler" som er eldre enn $COLLECT_DAYS dager,
#   og legg dem i søpplekatalogen
#

# Finn alle filene, og legg dem i @files
foreach $dir (@COLLECT_FROM) {
    foreach $filemask (@BAD_FILES) {
	@new_files = `/usr/bin/find $dir -type f -name '$filemask' -mtime +$COLLECT_DAYS -print`;
	push @files, @new_files;
    }
}

#Flytt dem til "trash_can"
foreach (@files) {
    chomp;
    $from = $to = $_;
    $to =~ s/\//_/g;

#    print "mv $from $TRASH_CAN_DIR$to\n"; 
#    print "touch $TRASH_CAN_DIR$to\n";

    `mv -f '$from' '$TRASH_CAN_DIR$to'`;         #Flytt filene
    `touch '$TRASH_CAN_DIR$to'`;              #Oppdater filstempel
}




#
#   Slett gamle filer fra "trash_can"
#   (De som har ligget der over $KEEP_DAYS dager)
#


@old_files = `/usr/bin/find $TRASH_CAN_DIR -mtime +$KEEP_DAYS -print`;
foreach (@old_files) {
    next if( /^$TRASH_CAN_DIR$/ ); #Ikke slett trash_can katalogen :)
#    print "rm $_\n";
    `rm '$_'`;
}





























