--- loncom/misc/checkforupdates.pl 2013/02/02 00:22:39 1.1 +++ loncom/misc/checkforupdates.pl 2013/10/02 23:47:17 1.3 @@ -1,7 +1,7 @@ #!/usr/bin/perl # The LearningOnline Network # -# $Id: checkforupdates.pl,v 1.1 2013/02/02 00:22:39 raeburn Exp $ +# $Id: checkforupdates.pl,v 1.3 2013/10/02 23:47:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,6 @@ use LONCAPA::Configuration; use LONCAPA::Checksumming; use Apache::loncommon(); -my $tmpfile = '/tmp/checkLONCAPA.'.$$; my $perlvar= LONCAPA::Configuration::read_conf('loncapa.conf'); my ($londaemons,$lonlib,$lonincludes,$lontabdir,$lonhost,$defdom,$origmail, @@ -85,7 +84,7 @@ my ($distro,$send,$message); my $loncaparev = &Apache::lonnet::get_server_loncaparev($defdom); my ($version,$timestamp) = split(/\-/,$loncaparev); if ($loncaparev =~ /CVS_HEAD/) { - $message = &Apache::lonlocal::mt('Code checking unavailable for LON-CAPA CVS HEAD.')."\n"; + $message = &Apache::lonlocal::mt('Code checking unavailable for LON-CAPA CVS HEAD')."\n"; } else { # Get Linux distro if (open(PIPE, "$londaemons/distprobe |")) { @@ -164,32 +163,31 @@ if ($loncaparev =~ /CVS_HEAD/) { $production.'-'.$proddate, "\n http://install.loncapa.org/\n"); } - if (open(my $tmpfh,">$tmpfile")) { - print $tmpfh +} + +if ($docroot ne '') { + if (open(my $fh,">$docroot/lon-status/checkLCupdates.txt")) { + print $fh &Apache::lonlocal::mt('Update check result -- [_1]', &Apache::lonlocal::locallocaltime(time)). "\n\n". $message; - close($tmpfh); - } -} - -if ($docroot ne '') { - system("cat $tmpfile > $docroot/lon-status/checkLCupdates.txt"); - if ($< == 0) { + close($fh); system("chown www:www $docroot/lon-status/checkLCupdates.txt"); - } - chmod(0600,"$docroot/lon-status/checkLCupdates.txt"); -} + chmod(0600,"$docroot/lon-status/checkLCupdates.txt"); -# Determine who receives the e-mail -my $emailto = - &Apache::loncommon::build_recipient_list(undef,'updatesmail', - $defdom,$origmail); -if ($emailto) { - if ($send) { - my $subj = "LON-CAPA module check -- $lonhost"; - system(qq{mail -s '$subj' "$emailto" < $tmpfile}); + if ($send) { + # Determine who receives the e-mail + my $emailto = + &Apache::loncommon::build_recipient_list(undef,'updatesmail', + $defdom,$origmail); + if ($emailto) { + my $subj = "LON-CAPA module check -- $lonhost"; + if (-e "$docroot/lon-status/checkLCupdates.txt") { + system(qq{mail -s '$subj' "$emailto" < $docroot/lon-status/checkLCupdates.txt}); + } + } + } } }