--- loncom/loncron 2018/08/08 11:49:48 1.108
+++ loncom/loncron 2018/10/29 02:57:30 1.112
@@ -2,7 +2,7 @@
# Housekeeping program, started by cron, loncontrol and loncron.pl
#
-# $Id: loncron,v 1.108 2018/08/08 11:49:48 raeburn Exp $
+# $Id: loncron,v 1.112 2018/10/29 02:57:30 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -113,17 +113,20 @@ sub checkon_daemon {
my $result;
&log($fh,'
'.$daemon.'
Log
');
printf("%-15s ",$daemon);
- if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){
- open (DFH,"tail -n25 $perlvar{'lonDaemons'}/logs/$daemon.log|");
- while (my $line=) {
- &log($fh,"$line");
- if ($line=~/INFO/) { $notices++; }
- if ($line=~/WARNING/) { $notices++; }
- if ($line=~/CRITICAL/) { $warnings++; }
- };
- close (DFH);
+ if ($fh) {
+ if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){
+ if (open(DFH,"tail -n25 $perlvar{'lonDaemons'}/logs/$daemon.log|")) {
+ while (my $line=) {
+ &log($fh,"$line");
+ if ($line=~/INFO/) { $notices++; }
+ if ($line=~/WARNING/) { $notices++; }
+ if ($line=~/CRITICAL/) { $warnings++; }
+ }
+ close (DFH);
+ }
+ }
+ &log($fh,"
");
}
- &log($fh,"");
my $pidfile="$perlvar{'lonDaemons'}/logs/$daemon.pid";
@@ -169,7 +172,7 @@ sub checkon_daemon {
&clean_lonc_childpids();
}
&log($fh,"$daemon not running, trying to start
");
-
+
if (&start_daemon($fh,$daemon,$pidfile,$args)) {
&log($fh,"$daemon at pid $daemonpid responding
");
$simplestatus{$daemon}='restarted';
@@ -194,17 +197,19 @@ sub checkon_daemon {
&log($fh,"Unable to start $daemon
");
}
}
-
- if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){
- &log($fh,"");
- open (DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/$daemon.log|");
- while (my $line=) {
- &log($fh,"$line");
- if ($line=~/WARNING/) { $notices++; }
- if ($line=~/CRITICAL/) { $notices++; }
- };
- close (DFH);
- &log($fh,"
");
+ if ($fh) {
+ if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){
+ &log($fh,"");
+ if (open(DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/$daemon.log|")) {
+ while (my $line=) {
+ &log($fh,"$line");
+ if ($line=~/WARNING/) { $notices++; }
+ if ($line=~/CRITICAL/) { $notices++; }
+ }
+ close (DFH);
+ }
+ &log($fh,"
");
+ }
}
}
@@ -1057,8 +1062,8 @@ sub reset_nosslverify_pids {
if ($sslrem{$host}) {
if (ref($pids_by_host{$host}) eq 'HASH') {
if (ref($pids_by_host{$host}{'insecure'}) eq 'HASH') {
- if (keys($pids_by_host{$host}{'insecure'})) {
- foreach my $pid (keys($pids_by_host{$host}{'insecure'})) {
+ if (keys(%{$pids_by_host{$host}{'insecure'}})) {
+ foreach my $pid (keys(%{$pids_by_host{$host}{'insecure'}})) {
if (open(PIPE,"ps -o ppid= -p $pid |")) {
my $ppid = ;
chomp($ppid);
@@ -1171,8 +1176,8 @@ sub main () {
chop $hostname;
$hostname=~s/[^\w\.]//g; # make sure is safe to pass through shell
my $subj="LON: Unconfigured machine $hostname";
- system("echo 'Unconfigured machine $hostname.' |\
- mailto $emailto -s '$subj' > /dev/null");
+ system("echo 'Unconfigured machine $hostname.' |".
+ " mail -s '$subj' $emailto > /dev/null");
exit 1;
}
@@ -1182,8 +1187,8 @@ sub main () {
print("User ID mismatch. This program must be run as user 'www'.\n");
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}";
my $subj="LON: $perlvar{'lonHostID'} User ID mismatch";
- system("echo 'User ID mismatch. loncron must be run as user www.' |\
- mailto $emailto -s '$subj' > /dev/null");
+ system("echo 'User ID mismatch. loncron must be run as user www.' |".
+ " mail -s '$subj' $emailto > /dev/null");
exit 1;
}