version 1.103.2.6, 2020/01/11 22:39:55
|
version 1.103.2.7, 2020/05/06 14:40:08
|
Line 42 use IO::Socket;
|
Line 42 use IO::Socket;
|
use HTML::Entities; |
use HTML::Entities; |
use Getopt::Long; |
use Getopt::Long; |
use File::Copy; |
use File::Copy; |
|
use Sys::Hostname::FQDN(); |
|
|
#globals |
#globals |
use vars qw (%perlvar %simplestatus $errors $warnings $notices $totalcount); |
use vars qw (%perlvar %simplestatus $errors $warnings $notices $totalcount); |
|
|
Line 488 sub clean_lonIDs {
|
Line 490 sub clean_lonIDs {
|
my $cleaned=0; |
my $cleaned=0; |
my $active=0; |
my $active=0; |
while (my $fname=<$perlvar{'lonIDsDir'}/*>) { |
while (my $fname=<$perlvar{'lonIDsDir'}/*>) { |
my ($dev,$ino,$mode,$nlink, |
my $now=time; |
$uid,$gid,$rdev,$size, |
if (-l $fname) { |
$atime,$mtime,$ctime, |
my $linkfname = readlink($fname); |
$blksize,$blocks)=stat($fname); |
if (-f $linkfname) { |
my $now=time; |
if ($linkfname =~ m{^$perlvar{'lonIDsDir'}/[^/]+\.id$}) { |
my $since=$now-$mtime; |
my @data = stat($linkfname); |
if ($since>$perlvar{'lonExpire'}) { |
my $mtime = $data[9]; |
$cleaned++; |
my $since=$now-$mtime; |
&log($fh,"Unlinking $fname<br />"); |
if ($since>$perlvar{'lonExpire'}) { |
unlink("$fname"); |
if (unlink($linkfname)) { |
} else { |
$cleaned++; |
$active++; |
&log($fh,"Unlinking $linkfname<br />"); |
} |
unlink($fname); |
|
} |
|
} |
|
} |
|
} else { |
|
unlink($fname); |
|
} |
|
} elsif (-f $fname) { |
|
my @data = stat($fname); |
|
my $mtime = $data[9]; |
|
my $since=$now-$mtime; |
|
if ($since>$perlvar{'lonExpire'}) { |
|
if (unlink($fname)) { |
|
$cleaned++; |
|
&log($fh,"Unlinking $fname<br />"); |
|
} |
|
} else { |
|
$active++; |
|
} |
|
} |
} |
} |
&log($fh,"<p>Cleaned up ".$cleaned." stale session token(s).</p>"); |
&log($fh,"<p>Cleaned up ".$cleaned." stale session token(s).</p>"); |
&log($fh,"<h3>$active open session(s)</h3>"); |
&log($fh,"<h3>$active open session(s)</h3>"); |
Line 1030 sub main () {
|
Line 1051 sub main () {
|
if ('{[[[[lonHostID]]]]}' eq $perlvar{'lonHostID'}) { |
if ('{[[[[lonHostID]]]]}' eq $perlvar{'lonHostID'}) { |
print("Unconfigured machine.\n"); |
print("Unconfigured machine.\n"); |
my $emailto=$perlvar{'lonSysEMail'}; |
my $emailto=$perlvar{'lonSysEMail'}; |
my $hostname=`/bin/hostname`; |
my $hostname = Sys::Hostname::FQDN::fqdn(); |
chop $hostname; |
$hostname=~s/\.+/./g; |
$hostname=~s/[^\w\.]//g; # make sure is safe to pass through shell |
$hostname=~s/\-+/-/g; |
|
$hostname=~s/[^\w\.-]//g; # make sure is safe to pass through shell |
my $subj="LON: Unconfigured machine $hostname"; |
my $subj="LON: Unconfigured machine $hostname"; |
system("echo 'Unconfigured machine $hostname.' |". |
system("echo 'Unconfigured machine $hostname.' |". |
" mail -s '$subj' $emailto > /dev/null"); |
" mail -s '$subj' $emailto > /dev/null"); |