--- 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,"$tryserver | $result |
\n");
}
&log($fh,"
");
-
+ 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();