--- loncom/loncron 2011/11/14 17:27:34 1.95 +++ loncom/loncron 2013/02/02 00:22:30 1.96 @@ -2,7 +2,7 @@ # Housekeeping program, started by cron, loncontrol and loncron.pl # -# $Id: loncron,v 1.95 2011/11/14 17:27:34 raeburn Exp $ +# $Id: loncron,v 1.96 2013/02/02 00:22:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -32,6 +32,7 @@ use strict; use lib '/home/httpd/lib/perl/'; use LONCAPA::Configuration; +use LONCAPA::Checksumming; use LONCAPA; use Apache::lonnet; use Apache::loncommon; @@ -270,12 +271,7 @@ sub log_machine_info { &log($fh,"

distprobe

"); &log($fh,"
");
-    open(DSH,"$perlvar{'lonDaemons'}/distprobe |");
-    while (my $line=) { 
-	&log($fh,&encode_entities($line,'<>&"')); 
-	$psproc++;
-    }
-    close(DSH);
+    &get_distro($perlvar{'lonDaemons'},$fh);
     &log($fh,"
"); &errout($fh); @@ -755,6 +751,27 @@ sub write_serverhomeIDs { return; } +sub write_checksums { + my ($perlvar) = @_; + return unless (ref($perlvar) eq 'HASH'); + my $distro = &get_distro($perlvar->{'lonDaemons'}); + if ($distro) { + print "Retrieving file version and checksumming.\n"; + my ($chksumsref,$versionsref) = + &LONCAPA::Checksumming::get_checksums($distro,$perlvar->{'lonDaemons'}, + $perlvar->{'lonLib'}, + $perlvar->{'lonIncludes'}, + $perlvar->{'lonTabDir'}); + if (ref($chksumsref) eq 'HASH') { + $numchksums = scalar(keys(%{$chksumsref})); + } + print "File version retrieved and checksumming completed for $numchksums files.\n"; + } else { + print "File version retrieval and checksumming skipped - could not determine Linux distro.\n"; + } + return' +} + sub send_mail { print "sending mail\n"; my $defdom = $perlvar{'lonDefDomain'}; @@ -772,6 +789,21 @@ sub send_mail { } } +sub get_distro { + my ($dir,$fh) = @_; + my $distro; + if (open(my $disth,"$dir/distprobe |")) { + while (my $line=<$disth>) { + if ($fh) { + &log($fh,&encode_entities($line,'<>&"')); + } + $distro .= $line; + } + close($disth); + } + return $distro; +} + sub usage { print(<200 && !$noemail) { &send_mail(); } } } @@ -913,10 +945,3 @@ sub main () { &main(); 1; - - - - - - -