version 1.99, 2013/05/29 18:10:54
|
version 1.100, 2014/03/17 14:47:38
|
Line 526 sub check_httpd_logs {
|
Line 526 sub check_httpd_logs {
|
sub rotate_lonnet_logs { |
sub rotate_lonnet_logs { |
my ($fh)=@_; |
my ($fh)=@_; |
&log($fh,'<hr /><a name="lonnet" /><h2>lonnet</h2><h3>Temp Log</h3><pre>'); |
&log($fh,'<hr /><a name="lonnet" /><h2>lonnet</h2><h3>Temp Log</h3><pre>'); |
print "checking logs\n"; |
print "Checking logs.\n"; |
if (-e "$perlvar{'lonDaemons'}/logs/lonnet.log"){ |
if (-e "$perlvar{'lonDaemons'}/logs/lonnet.log"){ |
open (DFH,"tail -n50 $perlvar{'lonDaemons'}/logs/lonnet.log|"); |
open (DFH,"tail -n50 $perlvar{'lonDaemons'}/logs/lonnet.log|"); |
while (my $line=<DFH>) { |
while (my $line=<DFH>) { |
Line 570 sub rotate_other_logs {
|
Line 570 sub rotate_other_logs {
|
sub test_connections { |
sub test_connections { |
my ($fh)=@_; |
my ($fh)=@_; |
&log($fh,'<hr /><a name="connections" /><h2>Connections</h2>'); |
&log($fh,'<hr /><a name="connections" /><h2>Connections</h2>'); |
print "testing connections\n"; |
print "Testing connections.\n"; |
&log($fh,"<table border='2'>"); |
&log($fh,"<table border='2'>"); |
my ($good,$bad)=(0,0); |
my ($good,$bad)=(0,0); |
my %hostname = &Apache::lonnet::all_hostnames(); |
my %hostname = &Apache::lonnet::all_hostnames(); |
Line 604 sub test_connections {
|
Line 604 sub test_connections {
|
sub check_delayed_msg { |
sub check_delayed_msg { |
my ($fh)=@_; |
my ($fh)=@_; |
&log($fh,'<hr /><a name="delayed" /><h2>Delayed Messages</h2>'); |
&log($fh,'<hr /><a name="delayed" /><h2>Delayed Messages</h2>'); |
print "checking buffers\n"; |
print "Checking buffers.\n"; |
|
|
&log($fh,'<h3>Scanning Permanent Log</h3>'); |
&log($fh,'<h3>Scanning Permanent Log</h3>'); |
|
|
Line 654 sub check_delayed_msg {
|
Line 654 sub check_delayed_msg {
|
}; |
}; |
if ($@ && $@ =~ m/TIMEOUT/) { |
if ($@ && $@ =~ m/TIMEOUT/) { |
&log($fh,"Attempted pong to $tryserver timed out<br />"); |
&log($fh,"Attempted pong to $tryserver timed out<br />"); |
print "time out while contacting: $tryserver for pong\n"; |
print "Time out while contacting: $tryserver for pong.\n"; |
} else { |
} else { |
&log($fh,"Pong to $tryserver: $answer<br />"); |
&log($fh,"Pong to $tryserver: $answer<br />"); |
} |
} |
Line 673 sub finish_logging {
|
Line 673 sub finish_logging {
|
my $now=time; |
my $now=time; |
my $date=localtime($now); |
my $date=localtime($now); |
&log($fh,"<hr />$date ($now)</body></html>\n"); |
&log($fh,"<hr />$date ($now)</body></html>\n"); |
print "lon-status webpage updated\n"; |
print "lon-status webpage updated.\n"; |
$fh->close(); |
$fh->close(); |
|
|
if ($errors) { $simplestatus{'errors'}=$errors; } |
if ($errors) { $simplestatus{'errors'}=$errors; } |
Line 694 sub log_simplestatus {
|
Line 694 sub log_simplestatus {
|
} |
} |
|
|
sub write_loncaparevs { |
sub write_loncaparevs { |
print "Retrieving LON-CAPA version information\n"; |
print "Retrieving LON-CAPA version information.\n"; |
my %hostname = &Apache::lonnet::all_hostnames(); |
my %hostname = &Apache::lonnet::all_hostnames(); |
my $output; |
my $output; |
foreach my $id (sort(keys(%hostname))) { |
foreach my $id (sort(keys(%hostname))) { |
Line 708 sub write_loncaparevs {
|
Line 708 sub write_loncaparevs {
|
alarm(0); |
alarm(0); |
}; |
}; |
if ($@ && $@ =~ m/TIMEOUT/) { |
if ($@ && $@ =~ m/TIMEOUT/) { |
print "time out while contacting lonHost: $id for version\n"; |
print "Time out while contacting lonHost: $id for version.\n"; |
} |
} |
if ($loncaparev =~ /^[\w.\-]+$/) { |
if ($loncaparev =~ /^[\w.\-]+$/) { |
$output .= $id.':'.$loncaparev."\n"; |
$output .= $id.':'.$loncaparev."\n"; |
Line 726 sub write_loncaparevs {
|
Line 726 sub write_loncaparevs {
|
} |
} |
|
|
sub write_serverhomeIDs { |
sub write_serverhomeIDs { |
print "Retrieving LON-CAPA lonHostID information\n"; |
print "Retrieving LON-CAPA lonHostID information.\n"; |
my %name_to_host = &Apache::lonnet::all_names(); |
my %name_to_host = &Apache::lonnet::all_names(); |
my $output; |
my $output; |
foreach my $name (sort(keys(%name_to_host))) { |
foreach my $name (sort(keys(%name_to_host))) { |
Line 782 sub write_checksums {
|
Line 782 sub write_checksums {
|
} |
} |
|
|
sub send_mail { |
sub send_mail { |
print "sending mail\n"; |
print "Sending mail.\n"; |
my $defdom = $perlvar{'lonDefDomain'}; |
my $defdom = $perlvar{'lonDefDomain'}; |
my $origmail = $perlvar{'lonAdmEMail'}; |
my $origmail = $perlvar{'lonAdmEMail'}; |
my $emailto = &Apache::loncommon::build_recipient_list(undef, |
my $emailto = &Apache::loncommon::build_recipient_list(undef, |
Line 800 sub send_mail {
|
Line 800 sub send_mail {
|
|
|
sub usage { |
sub usage { |
print(<<USAGE); |
print(<<USAGE); |
loncron - housekeeping program that checks up on various parts of Lon-CAPA |
loncron - housekeeping program that checks up on various parts of LON-CAPA |
|
|
Options: |
Options: |
--help Display |
--help Display |
Line 856 sub main () {
|
Line 856 sub main () {
|
# ----------------------------- Make sure this process is running from user=www |
# ----------------------------- Make sure this process is running from user=www |
my $wwwid=getpwnam('www'); |
my $wwwid=getpwnam('www'); |
if ($wwwid!=$<) { |
if ($wwwid!=$<) { |
print("User ID mismatch. This program must be run as user 'www'\n"); |
print("User ID mismatch. This program must be run as user 'www'.\n"); |
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; |
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; |
my $subj="LON: $perlvar{'lonHostID'} User ID mismatch"; |
my $subj="LON: $perlvar{'lonHostID'} User ID mismatch"; |
system("echo 'User ID mismatch. loncron must be run as user www.' |\ |
system("echo 'User ID mismatch. loncron must be run as user www.' |\ |
mailto $emailto -s '$subj' > /dev/null"); |
mailto $emailto -s '$subj' > /dev/null"); |
exit 1; |
exit 1; |
} |
} |