--- loncom/loncron	2004/05/11 21:14:23	1.50
+++ loncom/loncron	2004/06/09 13:30:41	1.53
@@ -2,7 +2,7 @@
 
 # Housekeeping program, started by cron, loncontrol and loncron.pl
 #
-# $Id: loncron,v 1.50 2004/05/11 21:14:23 albertel Exp $
+# $Id: loncron,v 1.53 2004/06/09 13:30:41 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -83,7 +83,15 @@ sub start_daemon {
 	$progname='loncnew'; 
 	print "new ";
     }
-    system("$perlvar{'lonDaemons'}/$progname 2>>$perlvar{'lonDaemons'}/logs/${daemon}_errors");
+    my $error_fname="$perlvar{'lonDaemons'}/logs/${daemon}_errors";
+    my $size=(stat($error_fname))[7];
+    if ($size>40000) {
+	&log($fh,"<p>Rotating error logs ...</p>");
+	rename("$error_fname.2","$error_fname.3");
+	rename("$error_fname.1","$error_fname.2");
+	rename("$error_fname","$error_fname.1");
+    }
+    system("$perlvar{'lonDaemons'}/$progname 2>$perlvar{'lonDaemons'}/logs/${daemon}_errors");
     sleep 2;
     if (-e $pidfile) {
 	&log($fh,"<p>Seems like it started ...</p>");
@@ -252,7 +260,7 @@ sub log_machine_info {
     &log($fh,"<pre>");
     my $psproc=0;
 
-    open (PSH,"ps -aux --cols 140 |");
+    open (PSH,"ps aux --cols 140 |");
     while (my $line=<PSH>) { 
 	&log($fh,&encode_entities($line,'<>&"')); 
 	$psproc++;
@@ -550,7 +558,11 @@ sub send_mail {
 	$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 -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 {