--- loncom/misc/cleanup_file_caches.pl 2002/11/21 19:41:54 1.2 +++ loncom/misc/cleanup_file_caches.pl 2007/04/20 22:00:40 1.5 @@ -1,7 +1,7 @@ #!/usr/bin/perl # The LearningOnline Network # -# $Id: cleanup_file_caches.pl,v 1.2 2002/11/21 19:41:54 matthew Exp $ +# $Id: cleanup_file_caches.pl,v 1.5 2007/04/20 22:00:40 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,18 +31,19 @@ =head1 NAME -cleanup_prtspool.pl - Remove temporary files from the LON-CAPA print spool. +cleanup_file_caches.pl - Remove temporary files from the LON-CAPA print +spool, the multidownload zip spool, and userfiles cache. =head1 SYNOPSIS -cleanup_prtspool.pl deletes files from /home/httpd/prtspool that have not -been accessed in 24 hours. +cleanup_file_caches.pl deletes files from lonPrtDir, lonZipDir and +lonDocRoot/userfiles that have not been accessed in 24 hours. =head1 DESCRIPTION -cleanup_prtspool.pl examines each file in /home/httpd/prtspool and checks -its last access time. Those files which have not been accessed in 24 hours -are unlinked. +cleanup_file_caches.pl examines each file in lonPrtDir, lonZipDir and +lonDocRoot/userfiles and checks its last access time. Those +files which have not been accessed in 24 hours are unlinked. =cut @@ -52,17 +53,21 @@ use strict; use lib '/home/httpd/lib/perl/'; use File::Find; use File::stat; - -my $help = 0; -my $killtime = time - 24 * 60 * 60; - +use LONCAPA::Configuration; +my $conf = LONCAPA::Configuration::read_conf('loncapa.conf'); +my $killtime = $conf->{'lonExpire'}; +my $prt_spool_dir = $conf->{'lonPrtDir'}; +my $zip_spool_dir = $conf->{'lonZipDir'}; +my $userfile_dir = $conf->{'lonDocRoot'}.'/userfiles'; sub kill_if_old { my $filename = $File::Find::name; return if (! -f $filename); # We only want files - my $inode =stat($filename); - if ($inode->atime < $killtime) { + my $inode = stat($filename); + if ((time-$inode->atime) > $killtime) { unlink($filename); } } -find (\&kill_if_old,'/home/httpd/prtspool'); +find (\&kill_if_old,$prt_spool_dir); +find (\&kill_if_old,$zip_spool_dir); +find (\&kill_if_old,$userfile_dir);