--- loncom/loncron 2004/05/11 20:19:46 1.48 +++ loncom/loncron 2004/05/11 21:08:55 1.49 @@ -2,7 +2,7 @@ # Housekeeping program, started by cron, loncontrol and loncron.pl # -# $Id: loncron,v 1.48 2004/05/11 20:19:46 albertel Exp $ +# $Id: loncron,v 1.49 2004/05/11 21:08:55 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,6 +36,7 @@ use LONCAPA::Configuration; use IO::File; use IO::Socket; use HTML::Entities; +use Getopt::Long; #globals use vars qw (%perlvar %simplestatus $errors $warnings $notices $totalcount); @@ -450,22 +451,27 @@ sub test_connections { &log($fh,'

Connections

'); print "testing connections\n"; &log($fh,""); + my ($good,$bad)=(0,0); foreach my $tryserver (sort(keys(%{$hostname}))) { print("."); my $result; my $answer=reply("pong",$tryserver); if ($answer eq "$tryserver:$perlvar{'lonHostID'}") { $result="ok"; + $good++; } else { $result=$answer; $warnings++; - if ($answer eq 'con_lost') { $warnings++; } + if ($answer eq 'con_lost') { + $bad++; + $warnings++; + } } if ($answer =~ /con_lost/) { print(" $tryserver down\n"); } &log($fh,"\n"); } &log($fh,"
$tryserver$result
"); - + print "\n$good good, $bad bad connections\n"; &errout($fh); } @@ -545,8 +551,36 @@ sub send_mail { system("metasend -b -t $emailto -s '$subj' -f $statusdir/index.html -m text/html"); } +sub usage { + print(< \$help, + "oldlonc" => \$oldlonc, + "justcheckdaemons" => \$justcheckdaemons, + "noemail" => \$noemail, + "justcheckconnections" => \$justcheckconnections + ); + if ($help) { &usage(); return; } # --------------------------------- Read loncapa_apache.conf and loncapa.conf my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf'); %perlvar=%{$perlvarref}; @@ -584,7 +618,7 @@ sub main () { my (%hostname,%hostdom,%hostrole,%spareid); while (my $configline=<$config>) { - next if ($configline =~ /^(\#|\s*$)/); + next if ($configline =~ /^(\#|\s*\$)/); my ($id,$domain,$role,$name,$ip,$domdescr)=split(/:/,$configline); if ($id && $domain && $role && $name && $ip) { $hostname{$id}=$name; @@ -611,25 +645,33 @@ sub main () { $warnings=0; $notices=0; - my $fh=&start_logging(\%hostdom,\%hostrole,\%hostname,\%spareid); - - &log_machine_info($fh); - &clean_tmp($fh); - &clean_lonIDs($fh); - &check_httpd_logs($fh); - &rotate_lonnet_logs($fh); - &checkon_daemon($fh,'lonsql',200000); - &checkon_daemon($fh,'lond',40000,1); - &checkon_daemon($fh,'lonc',40000,1); - &checkon_daemon($fh,'lonhttpd',40000); - - &test_connections($fh,\%hostname); - &check_delayed_msg($fh); - - &finish_logging($fh); - &log_simplestatus(); - if ($totalcount>200) { &send_mail(); } + my $fh; + if (!$justcheckdaemons && !$justcheckconnections) { + $fh=&start_logging(\%hostdom,\%hostrole,\%hostname,\%spareid); + + &log_machine_info($fh); + &clean_tmp($fh); + &clean_lonIDs($fh); + &check_httpd_logs($fh); + &rotate_lonnet_logs($fh); + } + if (!$justcheckconnections) { + &checkon_daemon($fh,'lonsql',200000); + &checkon_daemon($fh,'lond',40000,1); + &checkon_daemon($fh,'lonc',40000,1); + &checkon_daemon($fh,'lonhttpd',40000); + } + if (!$justcheckdaemons) { + &test_connections($fh,\%hostname); + } + if (!$justcheckdaemons && !$justcheckconnections) { + &check_delayed_msg($fh); + &finish_logging($fh); + &log_simplestatus(); + + if ($totalcount>200 && !$noemail) { &send_mail(); } + } } &main(); 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.