--- loncom/loncron 2004/05/25 15:20:31 1.51
+++ loncom/loncron 2005/04/13 18:56:07 1.58
@@ -2,7 +2,7 @@
# Housekeeping program, started by cron, loncontrol and loncron.pl
#
-# $Id: loncron,v 1.51 2004/05/25 15:20:31 albertel Exp $
+# $Id: loncron,v 1.58 2005/04/13 18:56:07 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -114,7 +114,7 @@ sub checkon_daemon {
my ($fh,$daemon,$maxsize,$sendusr1,$args)=@_;
&log($fh,'
'.$daemon.'
Log
');
- printf("%-10s ",$daemon);
+ printf("%-15s ",$daemon);
if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){
open (DFH,"tail -n25 $perlvar{'lonDaemons'}/logs/$daemon.log|");
while (my $line=) {
@@ -152,11 +152,13 @@ sub checkon_daemon {
if ($restartflag==1) {
$simplestatus{$daemon}='off';
$errors++;
+ my $kadaemon=$daemon;
+ if ($kadaemon eq 'lonmemcached') { $kadaemon='memcached'; }
&log($fh,'
Killall '.$daemon.': '.
- `killall $daemon 2>&1`.' - ');
+ `killall $kadaemon 2>&1`.' - ');
sleep 2;
&log($fh,unlink($pidfile).' - '.
- `killall -9 $daemon 2>&1`.
+ `killall -9 $kadaemon 2>&1`.
'
');
&log($fh,"$daemon not running, trying to start
");
@@ -260,7 +262,7 @@ sub log_machine_info {
&log($fh,"");
my $psproc=0;
- open (PSH,"ps -aux --cols 140 |");
+ open (PSH,"ps aux --cols 140 |");
while (my $line=) {
&log($fh,&encode_entities($line,'<>&"'));
$psproc++;
@@ -463,7 +465,7 @@ sub test_connections {
foreach my $tryserver (sort(keys(%{$hostname}))) {
print(".");
my $result;
- my $answer=reply("pong",$tryserver);
+ my $answer=reply("ping",$tryserver);
if ($answer eq "$tryserver:$perlvar{'lonHostID'}") {
$result="ok";
$good++;
@@ -554,11 +556,15 @@ sub log_simplestatus {
sub send_mail {
print "sending mail\n";
my $emailto="$perlvar{'lonAdmEMail'}";
- if ($totalcount>1000) {
+ if ($totalcount>2500) {
$emailto.=",$perlvar{'lonSysEMail'}";
}
my $subj="LON: $perlvar{'lonHostID'} E:$errors W:$warnings N:$notices";
- system("metasend -b -t $emailto -s '$subj' -f $statusdir/index.html -m text/html");
+
+ my $result=system("metasend -b -S 4000000 -t $emailto -s '$subj' -f $statusdir/index.html -m text/html >& /dev/null");
+ if ($result != 0) {
+ $result=system("mail -s '$subj' $emailto < $statusdir/index.html");
+ }
}
sub usage {
@@ -629,8 +635,9 @@ sub main () {
my (%hostname,%hostdom,%hostrole,%spareid);
while (my $configline=<$config>) {
next if ($configline =~ /^(\#|\s*\$)/);
- my ($id,$domain,$role,$name,$ip,$domdescr)=split(/:/,$configline);
- if ($id && $domain && $role && $name && $ip) {
+ my ($id,$domain,$role,$name)=split(/:/,$configline);
+ if ($id && $domain && $role && $name) {
+ $name=~s/\s//g;
$hostname{$id}=$name;
$hostdom{$id}=$domain;
$hostrole{$id}=$role;
@@ -673,6 +680,7 @@ sub main () {
if ($oldlonc) { $args = ''; }
&checkon_daemon($fh,'lonc',40000,1,$args);
&checkon_daemon($fh,'lonhttpd',40000);
+ &checkon_daemon($fh,'lonmemcached',40000);
}
if (!$justcheckdaemons) {
&test_connections($fh,\%hostname);