#!/usr/bin/perl
#
# IMPORTANT NOTE:
#
#
# By default this will keep the last 30 days of your quarantine.
# You can change this here:
$days_to_keep = 30;
$quarantine_dir = '/var/spool/MailScanner/quarantine';
# Standardise the format of the directory name
die 'Path for quarantine_dir must be absolute' unless $quarantine_dir =~ /^\//;
$quarantine_dir =~ s/\/$//; # Delete trailing slash
# Now get the content list for the directory.
opendir(QDIR, $quarantine_dir) or die "Couldn't read directory $quarantine_dir";
# Loop through this list looking for any *directory* which hasn't been
# modified in the last $days_to_keep days.
# Unfortunately this will do nothing if the filesystem is backed up using tar.
while($entry = readdir(QDIR)) {
next if $entry =~ /^\./;
$entry = $quarantine_dir . '/' . $entry;
system("rm -rf $entry") if -d $entry &&
-M $entry > $days_to_keep;
}
closedir(QDIR);
syntax highlighted by Code2HTML, v. 0.9.1