--- loncom/loncron 2001/11/26 21:00:42 1.25 +++ loncom/loncron 2002/05/27 19:21:59 1.29 @@ -14,9 +14,14 @@ # YEAR=2001 # 1/10/2001, 2/12/, 2/26, 3/15, 04/11, 04/21,8/27 Scott Harrison # 09/04,09/06,11/26 Gerd Kortemeyer +# YEAR=2002 +# 5/11/2002 Scott Harrison $|=1; +use lib '/home/httpd/lib/perl/'; +use LONCAPA::Configuration; + use IO::File; use IO::Socket; @@ -50,19 +55,13 @@ ENDERROUT # ================================================================ Main Program -# ------------------------------------------------------------ Read access.conf -{ - my $config=IO::File->new("/etc/httpd/conf/access.conf"); - - while (my $configline=<$config>) { - if ($configline =~ /PerlSetVar/) { - my ($dummy,$varname,$varvalue)=split(/\s+/,$configline); - $perlvar{$varname}=$varvalue; - } - } - delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed - delete $perlvar{'lonSqlAccess'}; # remove since sensitive and not needed -} +# --------------------------------- Read loncapa_apache.conf and loncapa.conf +my $perlvarref=LONCAPA::Configuration::read_conf('loncapa_apache.conf', + 'loncapa.conf'); +%perlvar=%{$perlvarref}; +undef $perlvarref; +delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed +delete $perlvar{'lonSqlAccess'}; # remove since sensitive and not needed # --------------------------------------- Make sure that LON-CAPA is configured # I only test for one thing here (lonHostID). This is just a safeguard. @@ -240,6 +239,7 @@ if ($psproc>250) { $notices++; } # --------------------------------------------------------------- clean out tmp print $fh '

Temporary Files

'; $cleaned=0; +$old=0; while ($fname=<$perlvar{'lonDaemons'}/tmp/*>) { my ($dev,$ino,$mode,$nlink, $uid,$gid,$rdev,$size, @@ -248,12 +248,24 @@ while ($fname=<$perlvar{'lonDaemons'}/tm $now=time; $since=$now-$mtime; if ($since>$perlvar{'lonExpire'}) { - $cleaned++; - unlink("$fname"); + $line=''; + if (open(PROBE,$fname)) { + $line=; + close(PROBE); + } + unless ($line=~/^CHECKOUTTOKEN\&/) { + $cleaned++; + unlink("$fname"); + } else { + if ($since>100*$perlvar{'lonExpire'}) { + $cleaned++; + unlink("$fname"); + } else { $old++; } + } } } -print $fh "Cleaned up ".$cleaned." files."; +print $fh "Cleaned up ".$cleaned." files (".$old." old checkout tokens)."; # ------------------------------------------------------------ clean out lonIDs print $fh '

Session Tokens

';